这么简单的问题。我目录中的所有文件都是6bfefb348d746eca288c6d62f6ebec04_0.jpg
形式。我希望它们看起来像6bfefb348d746eca288c6d62f6ebec04.jpg
。基本上,我想在每个文件名的末尾取消_0
。我怎么用bash来做这个呢?
答案 0 :(得分:4)
使用Perl的独立重命名命令:
rename -n 's/..(\....)$/$1/' *
如果一切正常,请删除-n
。
可以使用此独立rename
命令,其语法类似于sed
' s s/regexp/replacement/
命令。在正则表达式中,.
匹配一个字符。 \.
匹配.
和$
匹配行尾(此处为文件名结尾)。 (
和)
是正则表达式中的特殊字符,用于标记子表达式(此处为.
和文件名末尾的三个字符),然后可以使用$1
重复使用。 sed
使用\1
进行首次反向引用,重命名使用$1
。
请参阅:Back-references and Subexpressions with sed