次に、いくつかのファイルを見つけて移動しようとします。/ホーム/ユーザー/fol1到着/ホーム/ユーザー/fol2。
一般的に私
find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +
ただし、これを行うと、すでに存在する同じ名前のファイルが上書きされます。/パス/to/foo/bar。
すでに存在するファイルをスキップしたいと思います。
ループが必要な場合は、シェルの通常の出力またはログファイルの出力も必要です。
どんなアイデアがありますか?
答え1
次のオプションが利用可能ですn
。
find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +
からman mv
:
-n, --no-clobber
do not overwrite an existing file
答え2
私はMac端末を使用しており、このコマンドは良い結果をもたらします。
FIle_Originを探す-type f -name "File_Name" -exec mv {} File_destination/;