我有这个文件夹结构:
├── foo1
│ ├── bar1.txt
│ └── bar2.txt
├── foo2
│ ├── bar3.txt
│ └── bar4 with a space.txt
└── foo3
└── qux1
├── bar5.txt
└── bar6.txt
我想在每个文件夹级别之间加一个下划线:
├── foo1_bar1.txt
├── foo1_bar2.txt
├── foo2_bar3.txt
├── foo2_bar4 with a space.txt
├── foo3_qux1.bar6.txt
└── foo3_qux1_bar5.txt
我四处张望,没有找到任何可行的解决方案,主要是因为我的问题有两个特殊之处:根目录中可能存在多个文件夹级别,而且某些文件可能包含空格。
任何想法如何在bash中完成此操作?谢谢!
编辑:运行格连杰克曼建议答案我得到这个:
一级文件夹有两个下划线。知道如何避免这种情况或只是对其重命名,以便仅使用一个下划线吗?谢谢。
foo1__qux1_bar5.txt
在第一个文件夹级别中有两个下划线。尝试弄乱您的bash行,但似乎无济于事。也许我需要添加一些内容?