2017-03-18 62 views
0

嚴正解釋什麼,我試圖做的基本上是創建一個shell腳本,將disect文件大小數爲某些類別,例如:如何爲我的輸出設置一定的限制?

文件數量< 100B:
數文件< 1MB:
文件數< 1GB:

你明白了吧。 到目前爲止,我得到這個

find $PWD -type f -exec ls -al {} \; | cut -d" " -f5 | sort -n 

基本上這樣做是隻查找文件,寫他們的文件大小,只削減他們的文件大小和其排序從最低到最高。

因此,例如,一個輸出(stdout)應該是這樣的:

3 
2184 
5709 
15006 

的問題是,我不知道我怎樣才能得到這個STDOUT,不知怎麼設置基本上是大小限制(讓我們在這說案例100B)所以基本上它會在這種情況下只打印數字3.任何想法如何?或者也許有一些完全不同但更有效的方法來完成這一切?

+1

閱讀'find'文檔中的部分 「查找文件」 小節 「2.4大小」,例如使用'-size'測試 –

+0

@LarsFischer yup找到了它,謝謝你的參考。 – Rawrplus

回答

1

您可以使用find-size

tmp1=$(find $PWD -size -100c | wc -l) 
tmp2=$(find $PWD -size -1M | wc -l) 
tmp3=$(find $PWD -size -1G | wc -l) 

echo "Number of files <100B: $tmp1" 
echo "Number of files <1MB: $tmp2" 
echo "Number of files <1GB: $tmp3" 
相關問題