2011-03-23 6 views
1

목표를 크기에 따라 파일을 나열하려면 : 아래의 명령을 사용하여 UNIX유닉스에서

에 더 많은 공간을 차지하는 파일의 목록을 가져올 수

SSH 서버 이름 뒤/폴더 이름/* | grep -v '할 수 없습니다'| 정렬 -nr | 머리 -10

종류의 -nr 사용하여 숫자로 생각하고 일종의 역은 grep -v를 사용

(파일 더 많은 공간을 차지하는 얻으려면) '할 수 없다'몇 폴더와 이들에 대한 액세스가 없기 때문에 라인 아래

정렬하기 전에 무시해야 샘플 출력 그렙 문제에 직면

624 /folder1/folder2/conf 
16  /folder1/folder2/error/include 
192 /folder1/folder2/error 
284 /folder1/folder2/htdocs 
264 /folder1/folder2/icons/small 
du: cannot read directory `/folder1/folder2/file1': Permission denied 
du: cannot read directory `/folder1/folder2/file3': Permission denied 

에게하고 오류 메시지가 필터링되지 않아요으로 정렬 명령

,

답변

1

오류 메시지를 grep 할 수 있도록 2>&1을 사용하여 stderr을 stdout으로 리디렉션해야합니다. 와일드 카드를 탈출하여 로컬 시스템이 아닌 원격 시스템에서 확장되도록해야합니다.

ssh serverName du /folderName/\* 2>&1 | grep -v 'cannot' | sort -nr | head -10 
+0

아니면 표준 오류를 닫으십시오. 우리는 어쨌든 그 메시지로부터 어떤 종류의 정보도 얻지 못합니다. –

0

stderr를 닫으면 grep이 필요하지 않습니다.

ssh serverName du /folderName/\* 2>&- | sort -nr | head -10 

와일드 카드가 이스케이프됩니다.

관련 문제