[英]How can I list the files in a directory that have zero size/length in the Linux terminal?
我是使用 Linux 終端的新手,所以我才剛剛開始了解我可以使用的命令。 我已經弄清楚如何使用 Linux 終端列出目錄中的文件,以及如何根據文件大小列出它們。 我想知道是否有辦法只列出特定文件大小的文件。 現在,我正在嘗試列出大小為零的文件,例如您可能使用touch
命令創建的文件。 我查看了我在使用 ls 時可以使用的標志,但我找不到我正在尋找的確切內容。 這是我現在擁有的:
ls -lsh /mydirectory
“mydirectory”部分只是一個占位符。 有什么我可以添加的只會列出大小為零的文件嗎?
有幾種方法可以 go 如果你想堅持使用ls -l
你可以在管道中使用例如awk
來進行過濾。
ls -lsh /mydirectory | awk '$5 == 0'
這里, $5
是ls
的 output 中的第五個字段,即大小。
另一種方法是使用不同的工具find
。
find /mydirectory -maxdepth 1 -size 0 -ls
這也將列出隱藏文件,類似於ls -la
。 -maxdepth 1
在那里,因此如果您有嵌套目錄,它不會遍歷目錄樹。
一個簡單的腳本可以做到這一點。
for file_name in *
do
if [[ !( -s $file_name ) ]]
then
echo $file_name
fi
done
解釋:
for 是一個循環。 * 給出當前目錄中所有文件的列表。 -s file_name 如果文件的大小大於 0,則為真。
! 否定那個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.