mvコマンドエラー「ファイルはすでに存在しています」

mvコマンドエラー「ファイルはすでに存在しています」

いくつかのディレクトリを作成するために単純なスクリプトを使用しています。名前で特定のファイルを見つけ、私が作成したディレクトリに移動します。私が使用するコードは次のとおりです。


mkdir ./3DBGB_run   
mkdir ./run_optimization   
mkdir ./run_optimization/project_mesh   
mkdir ./run_optimization/CFD_optimized    
find . -name '*.template' -exec mv -i {} ./3DBGB_run \;                 
find . -name '3dbgbinput.*.dat' -exec mv -i {} ./3DBGB_run \;           
find . -name 'controlinputs.*.dat' -exec mv -i {} ./3DBGB_run \;            
find . -name '*.iec' -exec mv -i {} ./run_optimization/project_mesh \;           
find . -name '*.trb' -exec mv -i {} ./run_optimization/project_mesh \;  
find . -name '*.py' -exec mv -i {} ./run_optimization \;**

コードが実行され、ファイルを目的のディレクトリに移動しますが、各ファイルに対して「同じファイルなので、ファイルを移動できません」というエラーメッセージも表示されます。

ベストアンサー1

ターゲットディレクトリからの検索を避ける必要があります。たとえば、次のように追加できます! -path $TARGET_DIR

find . -name '*.template' ! -path "*3DBGB_run/*" -exec mv -it ./3DBGB_run {} \+

おすすめ記事