Bash 如何截断目录中所有文件的最后两个字符?

Bash 如何截断目录中所有文件的最后两个字符?,bash,file,unix,directory,rename,Bash,File,Unix,Directory,Rename,这么简单的问题。我的目录中的所有文件的格式为6BFFB348D746ECA288C6D62F6EBEC04\u 0.jpg。我希望它们看起来像6BFFB348D746ECA288C6D62F6EBEC04.jpg。基本上,我想去掉每个文件名末尾的\u 0。如何使用bash来执行此操作?使用Perl的独立重命名命令: rename -n 's/..(\....)$/$1/' * 如果一切正常,请删除-n 可以使用此独立的rename命令,其语法类似于sed的s/regexp/replaceme

这么简单的问题。我的目录中的所有文件的格式为
6BFFB348D746ECA288C6D62F6EBEC04\u 0.jpg
。我希望它们看起来像
6BFFB348D746ECA288C6D62F6EBEC04.jpg
。基本上,我想去掉每个文件名末尾的
\u 0
。如何使用bash来执行此操作?

使用Perl的独立重命名命令:

rename -n 's/..(\....)$/$1/' *
如果一切正常,请删除
-n


可以使用此独立的
rename
命令,其语法类似于
sed
s/regexp/replacement/
命令。在正则表达式中,一个
匹配一个字符<代码>\.与
匹配,
$
与行尾(此处为文件名末尾)匹配
是正则表达式中的特殊字符,用于标记子表达式(此处为一个
和文件名末尾的三个字符),然后可与
$1
一起重用
sed
使用
\1
作为第一次反向引用,重命名使用
$1


请参阅:与sed一起

谢谢您的回答。你能解释一下这个命令是怎么回事吗?对不起,我没有Perl方面的经验。@TerryMartin:我已经更新了我的答案。