Linux
為什麼不在與 find 相同的 shell 腳本中工作?
我有以下程式碼,它需要找到所有大於 10 KB 的文件並將它們移動到另一個目錄中:
read mam find "$mam" -type f -size +10k > size.txt while read line do mv "$line" /home/patakinorbert/Desktop/prk1 done < size.txt
您不需要 shell 腳本。一個
find
命令將搜尋文件並移動它們:read -r mam find "$mam" -type f -size +10k -exec mv {} /home/patakinorbert/Desktop/prk1 \;
-exec
和之間的單詞\;
是一個命令,它為找到的每個文件執行,其中{}
替換為找到的文件的名稱。在 Linux 系統(例如 Ubuntu)或任何使用 GNU 工具的系統中,此命令的更高效版本是:
read -r mam find "$mam" -type f -size +10k -exec mv -t /home/patakinorbert/Desktop/prk1 +
這更有效,因為它使用一次呼叫移動多個文件
mv
。