Làm thế nào để liệt kê các tập tin theo chủ sở hữu tập tin trong lệnh Unix?


14

Tôi cần liệt kê tất cả các tệp WD của tôi được sắp xếp theo thứ tự abc theo tên chủ sở hữu tệp. Ls có cái gì cho cái này không?

Câu trả lời:


12

Các giải pháp kinh điển:

ls -l | sort -k3,3

Một số 3 đơn độc (như trong '-k3') sẽ cho biết sortsử dụng cột 3 đến cuối dòng để sắp xếp. Điều này cho phép bạn thực hiện các loại nâng cao hơn như ls -l | sort -k3,3 -rnk5,5, sẽ sắp xếp các tệp của bạn trước theo tên người dùng, sau đó theo kích thước, lớn nhất trước.

Như mọi khi, để biết thêm thông tin, chạy man sort.


Đây có phải là đệ quy?

@Michel: không, nhưng tôi không nghĩ rằng OP muốn.
bukzor

5

tôi sẽ dùng find -printf "%u %h/%f\n" | sort


find: bad option -printf
Martin Carpenter

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)

1

Tôi không nghĩ có bất cứ thứ gì được tích hợp sẵn, nhưng bạn có thể kết hợp một chút hack:

find . -ls | sort -k5

Điều này hoạt động vì trên cài đặt của tôi, cột thứ năm ( -k5) của đầu ra findlà tên người dùng. Rõ ràng đây không phải là di động.


Tôi thậm chí có cần phải sử dụng find? Tôi đã thử ls -l | sort -k3và tôi nghĩ rằng nó đã làm việc.

cũng tìm các tệp và thư mục trong các thư mục con

1

ls -l | awk '{print $3"\t\t"$9}' | sortcũng sẽ làm điều đó. Cột đầu tiên là tên người dùng, cột thứ hai là tên tệp / thư mục:

[ 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

Điều này sẽ chỉ hiển thị tên tệp / thư mục (được sắp xếp theo chủ sở hữu):

[ 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

Và điều này sẽ hiển thị chúng được sắp xếp nhưng trên một dòng duy nhất:

[ 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

Không cần chỉ định 3sau -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:~$
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.