Linux
在不覆蓋和輸出的情況下查找和移動文件
我正在嘗試查找一些文件並將其從*/home/user/fol1 移動到/home/user/fol2*。
通常我會使用
find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +
但這會覆蓋*/path/to/foo/bar*中已經存在的同名文件。
如果文件已經存在,我希望它跳過文件。
如果這需要一個循環,我還需要在 shell 或日誌文件中的普通輸出。
有任何想法嗎?
您可以使用
n
選項:find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +
來自
man mv
:-n, --no-clobber do not overwrite an existing file
我正在使用 Mac 終端,這個命令給出了很好的結果:
find FIle_Origin -type f -name “File_Name” -exec mv {} File_destination/ ;