是否可以使用rename
大写文件但不包括其扩展名?
即:我想将文件foo_bar.ext重命名为FOO_BAR.ext
我尝试使用rename 'y/a-z/A-Z/' foo_bar.ext
,但是整个文件(包括扩展名)都变为大写FOO_BAR.EXT
您正在要求rename
将的所有实例转换[a-z]
为[A-Z]
。相反,将所需的字符串捕获到一个组中并对其进行修改:
rename 's/([^.]*)/\U$1/' foo_bar.ext
这会将文件重命名foo_bar.ext
为FOO_BAR.ext
。
如果您有一个文件foo_bar.baz.ext
需要重命名为FOO_BAR.BAZ.ext
,请使用贪婪匹配和多个组。说:
rename 's/(.*)(\..*)/\U$1\E$2/' foo_bar.baz.ext
会将文件重命名foo_bar.baz.ext
为FOO_BAR.BAZ.ext
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句