用bash重命名文件

Ven*_*tta 2 bash

我的目录有很多名为"20130101_temp.txt","20130102_temp.txt"等的文件.

如何删除所有这些文件的名称中的"_temp".即,将20130101_temp.txt重命名为20130101.txt.

Sea*_*ght 7

使用bash:

for x in *_temp.txt
do
    mv $x ${x%%_temp.txt}.txt
done
Run Code Online (Sandbox Code Playgroud)

还有一个Perl(至少在Ubuntu上)调用的实用程序,它带有rename一个正则表达式,所以你可以完成同样的事情:

rename -n 's/_temp\.txt$/.txt/' *_temp.txt
Run Code Online (Sandbox Code Playgroud)

-n选项启动"干运行",仅显示将要重命名的内容.删除它以实际执行重命名.