ディレクトリを別のディレクトリに移動し、ディレクトリ構造を維持します。

ディレクトリを別のディレクトリに移動し、ディレクトリ構造を維持します。

./dir1/subdir1以前は。/dir2/dir2/dir1/subdir1subdir1

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

関連情報