Antworten:
Die kanonische Lösung:
ls -l | sort -k3,3
Eine einzelne 3 (wie in '-k3') würde anweisen, sort
Spalte 3 bis zum Zeilenende zum Sortieren zu verwenden. Auf diese Weise können Sie erweiterte Sortierungen durchführen ls -l | sort -k3,3 -rnk5,5
, bei denen Ihre Dateien zuerst nach Benutzername und dann nach Größe sortiert werden.
Führen Sie wie immer weitere Informationen aus, um weitere Informationen zu erhalten man sort
.
ich würde ... benutzen find -printf "%u %h/%f\n" | sort
find: bad option -printf
find --version find (GNU findutils) 4.4.2 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Eric B. Decker, James Youngman, and Kevin Dalley. Built using GNU gnulib version e5573b1bad88bfabcda181b9e0125fb0c52b7d3b Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS() CBO(level=0)
Ich glaube nicht, dass irgendetwas eingebaut ist, aber Sie können ein bisschen Hack zusammenpfeifen:
find . -ls | sort -k5
Dies funktioniert, weil bei meiner Installation die fünfte Spalte ( -k5
) der Ausgabe von find
der Benutzername ist. Dies ist eindeutig nicht tragbar.
find
? Ich habe es versucht ls -l | sort -k3
und ich denke, es hat funktioniert.
ls -l | awk '{print $3"\t\t"$9}' | sort
würde es auch tun. Die erste Spalte ist der Benutzername, die zweite der Datei- / Verzeichnisname:
[ 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
Dies würde nur die Datei- / Verzeichnisnamen anzeigen (sortiert nach Eigentümer):
[ 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
Und dies würde sie sortiert zeigen, aber in einer einzigen Zeile:
[ 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
ls -l | sort -k3
Keine Notwendigkeit 3
nach -k3 anzugeben
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:~$