いくつかのファイルを見つけて/ home/user/fol1から/ home/user/fol2に移動しようとしています。
一般的に私は使用します
find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +
ただし、これにより、/ path/to/foo/barにすでに存在する同じ名前のファイルが上書きされます。
すでに存在する場合はファイルをスキップしたい。
これにループが必要な場合は、シェルでのプレーン出力またはログファイルでの出力も必要です。
何か案は?
n
オプションを使用できます。
find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +
man mv
から:
-n, --no-clobber
do not overwrite an existing file