Как я могу переименовать дерево каталогов, чтобы оно соответствовало дереву, сохраненному в файле?
У меня есть старый каталог-дерево-файл, созданный с помощью find . -type d >old.txt
, Теперь я хочу переименовать существующее дерево, которое имеет такую же точную структуру, что и старое дерево. Этот вопрос связан с этим
Другими словами: как я могу преобразовать следующее:
NEW
├── 01
├── 02
├── 03
│ ├── 031
│ └── 032
│ └── 0321
| └── 03211
├── 04
├── 041
└── 042
Вернемся к этому:
OLD
├── Mercury
├── Venus
├── Earth
│ ├── Australia
│ └── Asia
│ └── Japan
| └── Hokkido
├── Mars
├── HellasBasin
└── SyrtisCrater
использовать мой old.txt (каталог-дерево) или использовать какой-либо другой скрипт, не касаясь файлов в каталогах?
1 ответ
Я думаю, что нет ничего, что будет делать это после того, как у вас будет только старое дерево каталогов в виде файла и нет способа соотнести новые имена каталогов со старыми.
Как бы сценарий узнал, если 01
соотносится с Mercury
или же Venus
?
Однако на этот же вопрос Unix StackExchange есть ответ на тот же вопрос, где OP сам написал Perl-скрипт, поскольку никто не мог дать ответ.
Но я думаю, чтобы это сработало, вам нужны старые директории без изменений, так как он запускает дерево с опциями
tree --dirsfirst -spugD