如何將某種類型的所有檔案移動(或複製)到 Unix 中的某個目錄?

如何將某種類型的所有檔案移動(或複製)到 Unix 中的某個目錄?

我還不太熟悉 grep/find/awk/xargs 的所有技巧,所以請耐心等待 =]

我有一個特定的文件類型,例如 *.xxx,位於某個目錄中的隨機位置。如何找到所有此類文件,並將它們移至 Unix 上我的主目錄中的資料夾(該資料夾可能尚不存在)?

答案1

find與該選項一起使用exec,但首先建立目標資料夾。

mkdir -p /home/somewhere/else
find /somewhere -iname "*.xxx"

這將列出將要移動的所有內容。現在,如果您確定這些是您要移動的文件,請執行以下命令:

find /somewhere -iname "*.xxx" -exec mv '{}' /home/somewhere/else/ \;

在該exec行中,'{}'將替換為實際檔案名,並將其移至目標。同樣,要複製,只需mv與交換即可cp。需要\;終止命令。

如果您希望在每次覆蓋現有文件的文件操作之前進行確認,您可以分別在或-i後面新增選項。mvcp

不需要grepxargs自己喜歡。這會使事情變得不必要地複雜化。

相關內容