Bash
Bash - 遍歷指定文件夾以查找空文件
我想
loop
通過在腳本中指定的一組文件夾並列印所有空文件。我使用這個腳本:array=("folderA" "folderX") for file in ./"${array[@]}"/*; do if [ -s "${file}" ]; then echo "$file" fi done
這不起作用,我只得到數組中指定的第一個文件夾的輸出,如下所示:
./folderX ./folderA/emty_file1 ./folderA/emty_file7 ./folderA/emty_file12 ./folderA/emty_file24
如何使腳本也檢測數組中指定的其他目錄中的空文件?
無需重複,
array=("folderA" "folderX") find "${array[@]}" -maxdepth 1 -type f -empty
另一種簡單的解決方案:
for i in "folderA" "folderX" do find "$i" -type f -empty done
如果腳本是從其他位置啟動的,請務必包含文件夾名稱的路徑,例如“/usr/local”。
編輯:另外,就像正確指出的那樣,如果您想限制搜尋範圍,請相應地使用 maxdepth :
for i in "folderA" "folderX" do find "$i" -maxdepth 1 -type f -empty done