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

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

いくつかのファイルを探して移動しようとしています/ホーム/ユーザー/fol1/ホーム/ユーザー/fol2一般的に

find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +

しかし、これはすでに存在する同じ名前のファイルを上書きします/path/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/ ;

関連情報