簡體   English   中英

如何列出 Linux 終端中大小/長度為零的目錄中的文件?

[英]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'

這里, $5ls的 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.

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