Ответы:
Попробуй это:
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.