出力で上書きせずにファイルを検索して移動する

出力で上書きせずにファイルを検索して移動する

次に、いくつかのファイルを見つけて移動しようとします。/ホーム/ユーザー/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/;

関連情報