我是 Linux 終端的新手,所以我才剛剛開始了解我可以使用的命令。我已經弄清楚如何使用 Linux 終端列出目錄中的檔案,以及如何根據檔案大小列出它們。我想知道是否有辦法只列出特定檔案大小的檔案。現在,我正在嘗試列出大小為零的檔案,例如您可能使用該touch命令創建的檔案。我查看了在使用 ls 時可以使用的標志,但我找不到我正在尋找的確切內容。這是我現在所擁有的:
ls -lsh /mydirectory
“mydirectory”部分只是一個占位符。有什么我可以添加的只會列出大小為零的檔案嗎?
uj5u.com熱心網友回復:
有幾種方法可以解決這個問題;如果你想堅持ls -l你可以使用例如awk在管道中進行過濾。
ls -lsh /mydirectory | awk '$5 == 0'
這里,$5是第五欄位中ls的輸出,大小。
另一種方法是使用不同的工具,find.
find /mydirectory -maxdepth 1 -size 0 -ls
這還將列出隱藏檔案,類似于ls -la. 該-maxdepth 1所以如果你有嵌套的目錄,它不遍歷目錄樹是存在的。
uj5u.com熱心網友回復:
一個簡單的腳本就可以做到這一點。
for file_name in *
do
if [[ !( -s $file_name ) ]]
then
echo $file_name
fi
done
解釋:
for 是一個回圈。* 給出當前目錄中所有檔案的串列。如果檔案的大小大于 0,則 -s file_name 變為真。
!否定那個
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/368265.html
上一篇:平均矩陣中的唯一值
