如何使用zmv命令将所有文件名和主目录转换为titlecase(大小写)。
我发现的一个开始的例子是:

autoload -U zmv
zmv '(*).(*)' '${(C)1}.$2'

如果文件位于子目录中,则上述操作将不起作用。
here
zmv '(**/)(*)~CVS~**/CVS' '${(C)1}${(L)2}'

递归地将名称不是CVS的文件和目录小写。这将尝试将小写文件名复制到标题案例目录中(这还不存在,因此也不适用)。
如果尝试转换为小写(从https://stackoverflow.com/a/152741/631775),则以下操作很有效:
find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

但我想在这里提出适当的理由。

最佳答案

以下这些似乎对我很有用:

zmv '(**/)(*)(**)' '$1${(C)2}'

使用这个有什么问题吗,一些异常情况没有涉及。如果可能的话,也可以有人提供一个rename版本。

关于linux - 使用zmv或重命名将其路径名重命名为适当大小写的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33888818/

10-10 22:40