-1
非常简单的问题。我目录中的所有文件的格式为6bfefb348d746eca288c6d62f6ebec04_0.jpg
。我希望他们看起来像6bfefb348d746eca288c6d62f6ebec04.jpg
。本质上,我想在每个文件名的末尾取下_0
。我将如何去做这个与bash?如何截断目录中所有文件的最后两个字符?
非常简单的问题。我目录中的所有文件的格式为6bfefb348d746eca288c6d62f6ebec04_0.jpg
。我希望他们看起来像6bfefb348d746eca288c6d62f6ebec04.jpg
。本质上,我想在每个文件名的末尾取下_0
。我将如何去做这个与bash?如何截断目录中所有文件的最后两个字符?
Perl的独立的重命名命令:
rename -n 's/..(\....)$/$1/' *
如果一切看起来不错,除去-n
。
它可以使用此独立rename
命令具有类似于sed
的s/regexp/replacement/
命令语法。在正则表达式中,.
匹配一个字符。 \.
匹配.
和$
匹配行尾(这里是文件名的末尾)。 (
和)
是正则表达式中的特殊字符,用于标记子表达式(这里是一个.
和文件名末尾的三个字符),然后可以与$1
重复使用。 sed
使用\1
作为第一次参照,重命名使用$1
。
感谢您的回答。你能解释一下这个命令是怎么回事吗?对不起,我有0经验与Perl。 –
@TerryMartin:我已经更新了我的答案。 – Cyrus