11

Мне нужно перечислить все файлы, которые мой WD отсортировал в алфавитном порядке по имени владельца файла. Есть ли что-нибудь для этого?

5 ответов5

10

Каноническое решение:

ls -l | sort -k3,3

Одиночный 3 (как в '-k3') указывает sort использовать столбец 3 до конца строки для сортировки. Это позволяет вам выполнять более сложные сортировки, такие как ls -l | sort -k3,3 -rnk5,5 , который будет сортировать ваши файлы сначала по имени пользователя, затем по размеру, сначала по величине.

Как всегда, для получения дополнительной информации, запустите man sort .

4

Я бы использовал find -printf "%u %h/%f\n" | sort

1

Я не думаю, что есть что-то встроенное, но вы можете соединить немного взлома:

find . -ls | sort -k5

Это работает, потому что в моей установке пятый столбец (-k5) вывода из find - это имя пользователя. Очевидно, это не портативно.

1

ls -l | awk '{print $3"\t\t"$9}' | sort также сделает это. Первый столбец - имя пользователя, второй - имя файла / каталога:

[ 09:20 jon@host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort

bettina         bettina
caldavd         caldavd
davical_app     postgres
davical_dba     davical_dba
istat           istat
jared           jared
jason           jason
jon             jon
jon             repo
root            lost+found
root            SCN_RepositoryB.tar.gz
tomcat          tomcat

Это покажет только имена файлов / каталогов (отсортировано по владельцу):

[ 09:24 jon@host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort | awk '{print $2}'

bettina
caldavd
postgres
davical_dba
istat
jared
jason
jon
repo
lost+found
SCN_RepositoryB.tar.gz
tomcat

И это покажет их отсортированные, но в одной строке:

[ 09:26 jon@host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort | awk '{print $2}' | tr "\n" " "
bettina caldavd postgres davical_dba istat jared jason jon repo lost+found SCN_RepositoryB.tar.gz tomcat
0
ls -l | sort -k3

Не нужно указывать 3 после -k3

kracekumar@python-lover:~$ ls -l /tmp | sort -k3  
total 36
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 orbit-gdm
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 pulse-    2L9K88eMlGn7
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 keyring-4O5hSc
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 pulse-SBBBfzrceWvC
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 ssh-UkESZoNj1595
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 virtual-kracekumar.5D8Mlv
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:43 orbit-kracekumar
drwx------ 2 root       root       4096 2011-10-14 08:36 pulse-PKdhtXMmr18n
drwxr-xr-x 3 www-data   www-data   4096 2011-10-14 08:36 www-data-temp-aspnet-0
kracekumar@python-lover:~$ ls -l /tmp | sort -k3,3
total 36
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 orbit-gdm
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 pulse-2L9K88eMlGn7
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 keyring-4O5hSc
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 pulse-SBBBfzrceWvC
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 ssh-UkESZoNj1595
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 virtual-kracekumar.5D8Mlv
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:43 orbit-kracekumar
drwx------ 2 root       root       4096 2011-10-14 08:36 pulse-PKdhtXMmr18n
drwxr-xr-x 3 www-data   www-data   4096 2011-10-14 08:36 www-data-temp-aspnet-0
kracekumar@python-lover:~$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .