展平目录层次结构,在新目录名称中保留目录名称

aksh1618

我基本上想从这里开始:

.
├── Alan Walker
│   ├── Different World
│   │   ├── 01 Intro.mp3
│   │   ├── 02 Lost Control.mp3
│   │   └── cover.jpg
│   └── Same World
│       ├── 01 Intro.mp3
│       └── 02 Found Control.mp3
├── Aurora
│   └── Infections Of A Different Kind Step 1
│       ├── 01 Queendom.lrc
│       ├── 02 Forgotten Love.lrc
│       └── 03 Gentle Earthquakes.mp3
└── Guns N' Roses
    └── Use Your Illusion I
        ├── 01 Right Next Door To Hell.lrc
        ├── 01 Right Next Door To Hell.mp3
        ├── 02 Dust N' Bones.lrc
        └── 02 Dust N' Bones.mp3

对此:

.
├── Alan Walker - Different World
│   ├── 01 Intro.mp3
│   ├── 02 Lost Control.mp3
│   └── cover.jpg
├── Alan Walker - Same World
│   ├── 01 Intro.mp3
│   └── 02 Found Control.mp3
├── Aurora - Infections Of A Different Kind Step 1
│   ├── 01 Queendom.lrc
│   ├── 02 Forgotten Love.lrc
│   └── 03 Gentle Earthquakes.mp3
└── Guns N' Roses - Use Your Illusion I
    ├── 01 Right Next Door To Hell.lrc
    ├── 01 Right Next Door To Hell.mp3
    ├── 02 Dust N' Bones.lrc
    └── 02 Dust N' Bones.mp3

我找不到的现有解决方案中都没有包含重命名目录本身。能够使用zmv做到这一点真是太好了,但是我不知道该怎么做。

吉勒斯“别再邪恶了”

sh

未经测试:

zmv -Q '(*)/(*)(/)' '$1 - $2'
rmdir -- *(/^F)

第二行删除所有空目录,即使以前没有文件的目录也是如此。可以使用自定义mv包装器解决此问题,该包装器记录将内容从哪个目录移出。

请注意,这会遍历到当前目录中目录的符号链接。

Linux重命名实用程序

未经测试。

rename / ' - ' */*/
rmdir -- */ 2>/dev/null

请注意,这会遍历到当前目录及其子目录中目录的符号链接。第二行删除所有空目录,即使以前没有文件的目录也是如此。

Perl重命名脚本

未经测试。

prename 's~/~ - ~' */*/
rmdir -- */ 2>/dev/null

请注意,这会遍历到当前目录及其子目录中目录的符号链接。第二行删除所有空目录,即使以前没有文件的目录也是如此。

这是一种更复杂的方法,该方法仅删除从其重命名的目录。再次,未经测试。

prename 's~([^/]+)/~$1 - ~ and ++$d{$1}; END {map {rmdir} keys %d}' */*/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

父目录名称与新目录名称结合

来自分类Dev

展平目录,但在新文件名中保留目录名

来自分类Dev

获取目录名称

来自分类Dev

在目录名称前添加目录名称

来自分类Dev

无效的目录名称-您的应用程序包含已保留的目录名称

来自分类Dev

如何获得目录名称

来自分类Dev

找不到目录名称

来自分类Dev

在目录名称中使用“&”

来自分类Dev

排除目录名称-ruby

来自分类Dev

模块名称和目录名称冲突?

来自分类Dev

通过.htaccess从URL隐藏目录名称

来自分类Dev

检查PWD是否包含目录名称

来自分类Dev

TFSBuild / Release Manager:目录名称无效

来自分类Dev

从URL删除目录名称Wordpress

来自分类Dev

指定VS扩展安装目录名称

来自分类Dev

在bash中增加目录名称

来自分类Dev

htaccess重写并传递顶级目录名称

来自分类Dev

使用Powershell对目录名称进行排序

来自分类Dev

从批次中的数组获取目录名称

来自分类Dev

通过PowerShell获取Azure目录名称

来自分类Dev

solr复制目录名称未使用

来自分类Dev

只需输入目录名称即可cd?

来自分类Dev

列出符号链接的目录名称

来自分类Dev

从URL中删除目录名称Wordpress

来自分类Dev

从URL删除MVC目录名称

来自分类Dev

使用PHP获取当前目录名称?

来自分类Dev

Rewriterule别名与目录名称匹配吗?

来自分类Dev

在bash中增加目录名称

来自分类Dev

.d在目录名称中代表什么?