Tôi có hai cây thư mục với bố cục tương tự, tức là
.
|-- dir1
| |-- a
| | |-- file1.txt
| | `-- file2.txt
| |-- b
| | `-- file3.txt
| `-- c
| `-- file4.txt
`-- dir2
|-- a
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
`-- file9.txt
Tôi muốn hợp nhất các cây thư mục dir1 và dir2 để tạo:
merged/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file3.txt
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
|-- file4.txt
`-- file9.txt
Tôi biết rằng tôi có thể thực hiện việc này bằng lệnh "cp", nhưng tôi muốn di chuyển các tệp thay vì sao chép, vì các thư mục thực tế tôi muốn hợp nhất thực sự lớn và chứa rất nhiều tệp (hàng triệu). Nếu tôi sử dụng "mv", tôi gặp lỗi "Tệp tồn tại" do tên thư mục xung đột.
CẬP NHẬT: Bạn có thể giả sử rằng không có tệp trùng lặp giữa hai cây thư mục.