Как обьединить два каталога с заменой при совпадении, не копированием файлов а именно перемещением ?
Структура в каталогах 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 .