내 ls -l
명령 의 출력을 grep하고 싶습니다 .
-rw-r--r-- 1 root root 1866 Feb 14 07:47 rahmu.file
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
grep rahmu
$ 3 열에서만 실행하고 싶으 므로 grep
명령 출력 은 다음과 같습니다.
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
가장 간단한 방법은 무엇입니까? 대답은 리눅스와 솔라리스에 중점을 둔 많은 Unices에서 이식 가능해야합니다.
NB : 특정 사용자에게 속한 모든 파일을 찾는 방법을 찾고 있지 않습니다. 이 예는 내 질문을 더 명확하게하기 위해 제공된 것입니다.
--printf
옵션을 stat
사용하면 다른 구문 분석하는 것이 좋습니다 장소에서 편리하게 사용할 수 있습니다 ls
. 그러나 일반적으로 find
원하는 것입니다 (@ Giles가 언급했듯이).
ls
를 파싱하는 것은 본질적으로 취약합니다 (사용자 이름에 공백이 있으면 어떻게되는지 생각하십시오. 예, 일부 플랫폼에서 발생합니다).find
대신 사용하십시오 .