./dir1/subdir1
以前は。/dir2
/dir2/dir1/subdir1
subdir1
findコマンドを使用して見つかったすべてのファイルに対してこれを実行したいので、コマンドがフォームに入力を受け入れることが重要ですmovecommand ./dir1/subdir1 /dir2/
。つまり、2番目の引数の内部構造を繰り返す必要はありません。
これを行うための良い方法はありますか?
答え1
mvはターゲットの「最後の」オブジェクトをコピーします。状況に応じて、まずターゲットディレクトリを作成してからファイルを移動できます。
mkdir /dir2/dir1/
mv /dir1/subdir/ /dir2/dir1/
または、rsyncを使用してソースをコピーして削除し、
rsync -av dir1 dir2/
sending incremental file list
dir1/
dir1/subdir/
dir1/subdir/test1
dir1/subdir/test2
rm -r dir1