Linux重命名命令,但用于动态值

时间:2015-08-24 09:08:05

标签: linux rename filenames

我在Linux服务器上有文件,例如:

2103acc.001.lob
2507acc.002.lob
2222acc.021.lob
1210acc.051.lob

我想将它们改为:

2103acc.pdf
2507acc.pdf
2222acc.pdf
1210acc.pdf

我无法表演

rename .001.lob .pdf *.lob

因为那些是动力学数字

有人可以给我解决方案吗? 感谢

2 个答案:

答案 0 :(得分:1)

此正则表达式应删除数字后跟.lob并替换为.pdf:

rename -n -v 's/\.[0-9]+\.lob$/\.pdf/' *.lob

一旦你确信自己拥有正确的模式,只需删除-n(干运行)并让它正常运行:

rename  -v 's/\.[0-9]+\.lob$/\.pdf/' *.lob

答案 1 :(得分:0)

Ixer在他的回答中错过了*,所以我添加了它:

rename -n -v 's/\.[0-9]*\.lob$/\.pdf/' *.lob