Как я могу переименовать дерево каталогов, чтобы оно соответствовало дереву, сохраненному в файле?

У меня есть старый каталог-дерево-файл, созданный с помощью 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

Другие вопросы по тегам