簡體   English   中英

查找大小大於 x MB 的目錄

[英]find directories having size greater than x MB

是否可以找到大小僅大於 x MB 的目錄。 假設,我只想在 /home 下找到所有大小大於 1000MB 且只有 1 個 maxdepth 的目錄,如何在 .

如果我正確地解釋你的問題,我認為這可能是你想要的:

cd /home
du -sm * | awk '$1 > 1000'

這將顯示/home中包含超過1000MB的所有目錄。 如果您的du版本不支持-m ,您可以使用du -sk並調整awk位以查找超過1,000,000KB而不是...

根據聯機幫助頁-k選項符合POSIX-m選項不是。

所以以下更便攜(即如果您使用的是 BSD,它仍然可以工作)但本質上是一樣的:

du -sk * | awk -v m=1000 '$1 > 1024*m'

只需將 awk 變量m設置為您希望作為截止值的兆字節數。

我發現這對於移動一批文件非常有用,因此張貼在這里是為了他人的利益。

要擴展它以將所有符合您條件的文件移動到另一個目錄,您可以調整awk命令以僅打印移動所需的位(不包括大小),然后循環:

# moving all directories meeting the size criteria to another location:
for d in $(du -sk * | awk -v m=1000 '$1 > 1024*m {print $2}')
do 
    mv $d $DESTINATION
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM