Как объединить два каталога?
Как обьединить два каталога с заменой при совпадении, не копированием файлов а именно перемещением?
Структура в каталогах dir1 и dir2 неизвестна и может частично повторяться.
Желательно в одну строку.
До
. |-- dir1 | |-- a | | |-- file1.txt (60GB) | | `-- file2.txt | |-- b | | `-- file3.txt (20GB) | `-- c | `-- file4.txt `-- dir2 |-- a | |-- file1.txt (10GB) | `-- file6.txt |-- b | |-- file3.txt (50GB) | `-- file8.txt `-- c |-- file10.txt `-- file9.txt
После
. |-- dir1 `-- dir2 |-- a | |-- file1.txt (60GB) | |-- file2.txt | `-- file6.txt |-- b | |-- file3.txt (20GB) | `-- file8.txt `-- c |-- file4.txt |-- file9.txt `-- file10.txt
Для создания структуры:
mkdir test cd test mkdir dir1 dir1/a dir1/b dir1/c dd if=/dev/zero of=dir1/a/file1.txt bs=1M count=60 dd if=/dev/zero of=dir1/a/file2.txt bs=1M count=1 dd if=/dev/zero of=dir1/b/file3.txt bs=1M count=20 dd if=/dev/zero of=dir1/c/file4.txt bs=1M count=1 mkdir dir2 dir2/a dir2/b dir2/c dd if=/dev/zero of=dir2/a/file1.txt bs=1M count=10 dd if=/dev/zero of=dir2/a/file6.txt bs=1M count=1 dd if=/dev/zero of=dir2/b/file3.txt bs=1M count=50 dd if=/dev/zero of=dir2/b/file8.txt bs=1M count=1 dd if=/dev/zero of=dir2/c/file9.txt bs=1M count=1 dd if=/dev/zero of=dir2/c/file10.txt bs=1M count=1
Посмотреть структуру:
tree.
Структура в каталогах dir1 и dir2 неизвестна и может частично повторяться.
Желательно в одну строку.
До
. |-- dir1 | |-- a | | |-- file1.txt (60GB) | | `-- file2.txt | |-- b | | `-- file3.txt (20GB) | `-- c | `-- file4.txt `-- dir2 |-- a | |-- file1.txt (10GB) | `-- file6.txt |-- b | |-- file3.txt (50GB) | `-- file8.txt `-- c |-- file10.txt `-- file9.txt
После
. |-- dir1 `-- dir2 |-- a | |-- file1.txt (60GB) | |-- file2.txt | `-- file6.txt |-- b | |-- file3.txt (20GB) | `-- file8.txt `-- c |-- file4.txt |-- file9.txt `-- file10.txt
Для создания структуры:
mkdir test cd test mkdir dir1 dir1/a dir1/b dir1/c dd if=/dev/zero of=dir1/a/file1.txt bs=1M count=60 dd if=/dev/zero of=dir1/a/file2.txt bs=1M count=1 dd if=/dev/zero of=dir1/b/file3.txt bs=1M count=20 dd if=/dev/zero of=dir1/c/file4.txt bs=1M count=1 mkdir dir2 dir2/a dir2/b dir2/c dd if=/dev/zero of=dir2/a/file1.txt bs=1M count=10 dd if=/dev/zero of=dir2/a/file6.txt bs=1M count=1 dd if=/dev/zero of=dir2/b/file3.txt bs=1M count=50 dd if=/dev/zero of=dir2/b/file8.txt bs=1M count=1 dd if=/dev/zero of=dir2/c/file9.txt bs=1M count=1 dd if=/dev/zero of=dir2/c/file10.txt bs=1M count=1
Посмотреть структуру:
tree.