![如何重命名目录树以匹配文件中保存的树?](https://linux22.com/image/1005974/%E5%A6%82%E4%BD%95%E9%87%8D%E5%91%BD%E5%90%8D%E7%9B%AE%E5%BD%95%E6%A0%91%E4%BB%A5%E5%8C%B9%E9%85%8D%E6%96%87%E4%BB%B6%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%9A%84%E6%A0%91%EF%BC%9F.png)
我有一个使用创建的旧目录树文件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