Пропустить один столбец в ls -hal

Пропустить один столбец в ls -hal

Как мне пропустить groupстолбец в выводе ls -hal?

Я использовал его ls -hal|cut -f4 --complement -d ' ', и он работал большую часть времени, но если я запускаю его, / я получаю запутанный вывод:

drwxr-xr-x  25 root 4.0K Dec 21 06:08 .
drwxr-xr-x  25 root 4.0K Dec 21 06:08 ..
drwxr-xr-x   root root 4.0K Jan 12 06:17 bin
drwxr-xr-x   root root 4.0K Jan 16 10:36 boot
drwxrwxr-x   root root 4.0K May  1  2018 cdrom
-rw-------   root root  56M May  1  2018 core
drwxr-xr-x  20 root 4.7K Jan  6 17:54 dev
drwxr-xr-x   root root 4.0K Oct  9 15:14 .dotnet
drwxr-xr-x 154 root  12K Jan 16 10:36 etc
drwxr-xr-x   root root 4.0K Nov 24 19:39 home

(Я не могу понять, почему это происходит, ls -halодно только это дает

drwxr-xr-x  25 root root 4.0K Dec 21 06:08 .
drwxr-xr-x  25 root root 4.0K Dec 21 06:08 ..
drwxr-xr-x   2 root root 4.0K Jan 12 06:17 bin
drwxr-xr-x   3 root root 4.0K Jan 16 10:36 boot
drwxrwxr-x   2 root root 4.0K May  1  2018 cdrom
-rw-------   1 root root  56M May  1  2018 core
drwxr-xr-x  20 root root 4.7K Jan  6 17:54 dev
drwxr-xr-x 154 root root  12K Jan 16 10:36 etc

)

Я тоже пробовал awk '{print $1,$2,$3,$5,$6,$7,$8,$9}', но это всегда портит выравнивание:

drwxr-xr-x 25 root 4.0K Dec 21 06:08 .
drwxr-xr-x 25 root 4.0K Dec 21 06:08 ..
drwxr-xr-x 2 root 4.0K Jan 12 06:17 bin
drwxr-xr-x 3 root 4.0K Jan 16 10:36 boot
drwxrwxr-x 2 root 4.0K May 1 2018 cdrom
-rw------- 1 root 56M May 1 2018 core
drwxr-xr-x 20 root 4.7K Jan 6 17:54 dev

решение1

Существуют специальные lsпараметры, позволяющие скрыть столбец группы.лс(1):

-G,--no-group

в длинном списке не печатайте названия групп

-o

нравится -l, но не перечислять информацию о группе

Таким образом, вы можете использовать либо ls -hao, либо ls -halG.

решение2

В вашем случае проблема в том, что в результате есть несколько одинарных пробелов ls -alh /. Это означает, что поле 4 — другое.

Что вы можете сделать, так это объединить пространства в одно:

ls -alh / | sed 's/\s\s*/ /g' | cut -f4 -d' ' --complement

Но учтите, что это также удалит все возможные двойные пробелы из имен файлов.

Вы также можете узнать больше из этого ответаздесь:

Дружеское напоминание посмотреть на параметры команд. Как и в этом случае, результат может быть просто достигнут с помощью команды, данной JigglyNaga.

Связанный контент