유닉스 명령에서 파일 소유자별로 파일을 나열하는 방법은 무엇입니까?


15

파일 소유자 이름을 기준으로 사전 순으로 정렬 한 모든 WD 파일을 나열해야합니다. 이것에 대해 뭔가가 있습니까?

답변:


13

표준 솔루션 :

ls -l | sort -k3,3

고독한 3 ( '-k3'에서와 같이)은 sort정렬을 위해 열 끝에서 열 3을 사용하도록 지시 합니다. 이를 통해보다 고급 정렬을 수행 할 수 있습니다. 이렇게하면 ls -l | sort -k3,3 -rnk5,5먼저 파일을 사용자 이름, 크기, 가장 큰 파일로 정렬합니다.

항상 그렇듯이 자세한 내용을 보려면을 실행하십시오 man sort.


재귀입니까?

@Michel : 아니요, 그러나 OP가 원한다고 생각하지 않습니다.
bukzor

5

나는 사용할 것이다 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

나는 내장 된 것이 없다고 생각하지만 약간의 핵을 만들 수 있습니다.

find . -ls | sort -k5

내 설치에서 -k5출력 의 다섯 번째 열 ( ) find이 사용자 이름 이기 때문에 작동합니다 . 분명히 이것은 휴대용이 아닙니다.


심지어 사용해야 find합니까? 나는 노력 ls -l | sort -k3했고 그것이 효과가 있다고 생각한다.

또한 하위 디렉토리의 파일 및 폴더를 처리합니다.

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:~$
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.