2011-03-23 39 views
1

目標:要提取的文件在UNIX要列出基於大小的文件在UNIX

佔用更多的空間使用下面的命令列表

SSH服務器名的du/FOLDERNAME/* | grep -v'不能'| sort -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 

面對使用grep問題和排序命令,作爲錯誤消息未得到過濾

回答

1

您需要使用2>&1將stderr重定向到標準輸出,以便您可以清除錯誤消息。您還應該轉義通配符,以便在遠程計算機上進行擴展,而不是在本地進行擴展。

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

或者可能只是關閉stderr。無論如何,我們無法從那條消息中獲得可分類的信息。 – 2011-03-23 12:56:19

0

如果關閉stderr,則不需要grep

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

請注意通配符被轉義。