如何使用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/