【Shell Script】檢查檔案是否為空白

在寫 Shell Script 時 ,想確定某檔案是否為空,若為空則想執行其他動作。


1. find

直覺想到就是用 find 指令,加上 empty ,會回傳為空的檔案名稱,否則回傳空字串。

1
2
3
4
5
result=`find /home/user -type f  -empty -name  file.txt`

if [ "${result}" != "" ]; then
    #do somethig...
fi



2. Shell Script -s 參數

除了用 find 指令外,另外找到一個 -s 參數,它會判斷若檔案存在且內容為空,則回傳 true ,否則回傳 false。

1
2
3
4
5
filename='/home/user/file.txt'

if [ ! -s "${filename}" ]; then
    #do somethig...
fi



參考資料

  1. Shell Script 檢查檔案內容是否空白|LINUX 技術手札