我還不太熟悉 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
後面新增選項。mv
cp
不需要grep
,xargs
自己喜歡。這會使事情變得不必要地複雜化。