Відповіді:
Спробуйте це:
ls -l | awk '{print $3, $4, $8}' | sort
Він надрукує ім’я користувача, ім’я групи та ім'я файлу, за умови, що ім'я файлу не містить пробілів. Можна також ввести:
ls -l | awk '{print $3, $4, $0}' | sort
Це надрукує ім’я користувача, ім'я групи та повний ls -l
вихід, відсортований спочатку ім'ям користувача, потім ім'ям групи, а потім тим, що ls -l
друкує спочатку.
Зауважте, що залежно від вашого розповсюдження фактичні номери стовпців можуть відрізнятися. Я спробував своє в SUSE та coreutils версії 5.2.1.
Ймовірно, є кращі, більш продумані рішення, але це найпростіший варіант, який працюватиме більшу частину часу.
Як сказав Петерсон, щось подібне до:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
$8
та column -t
для симпатичного друкуАбо ще краще:
ls -l | sort -k 3
- сортує за власником і за замовчуванням сортує наступне поле (групу) та увімкненоls -l | sort -k 4,4 -k 3
- сортування за групами, а потім за власникомls -l | sort -k 3,3 -k 8
- сортування за власником, а потім за іменем файлуПримітка: кома є полем термінатора, тому воно 3,3
починається і закінчується в полі 3 3,5
сортування від полів 3 до 5.