在linux上,rename
用于重命名多个目录。我想重命名以大写字母开头的目录到小写字母,并_
在第一个字母之前添加一个特殊字符。
例如,我想重命名Myfile
为_myfile
到目前为止,我想到的最好的方法是:
rename -n 'y/[A-Z]/[a-z]' *
但是,当我将字符添加到此正则表达式时,出现以下错误:
rename -n 'y/[A-Z]/_[a-z]' *
Replacement list is longer than search list at (eval 90) line 1.
如何在正则表达式中添加特殊字符?
做:
rename -n 's/^([A-Z])/_\L$1/' */
^([A-Z])
在开始时匹配任何大写字母,并放入捕获的组1中
在替换中,我们lowercasing( \L
)所捕获的组1 perpending一个_
*/
仅匹配目录
删除-n
以进行实际的重命名操作:
rename 's/^([A-Z])/_\L$1/' */
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句