Como outros apontaram, você não deve analisar a saída de ls . Supondo que você esteja usando ls apenas como exemplo e esteja analisando outra coisa, existem algumas maneiras de fazer o que você deseja:
-
cutcom-de-fcut -d ' ' -f 1,2,3,4,9de
man cut:-d, --delimiter=DELIM use DELIM instead of TAB for field delimiter -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specifiedEspecificamente para
ls, isso provavelmente falhará, poislsmudará a quantidade de espaço em branco entre campos consecutivos para torná-los mais alinhados.cuttratafoo<space>barefoo<space><space>barde forma diferente. -
awke suas variantes dividem cada linha de entrada em campos no espaço em branco, para que você possa dizer para imprimir apenas os campos desejados:awk '{print $1,$2,$3,$4,$9}' -
Perl
perl -lane 'print "@F[0 .. 3,8]"'