2014-10-03 57 views
0

我正在使用“重命名”命令重命名一组文件;例如:重命名命令不能正常工作

inputcac1010.inp.log inputcac1110.inp.log inputcac1210.inp.log inputcac1310.inp.log 
    inputcac1020.inp.log inputcac1120.inp.log inputcac1220.inp.log inputcac1320.inp.log 
    inputcac1030.inp.log inputcac1130.inp.log inputcac1230.inp.log inputcac1330.inp.log 
    inputcac1040.inp.log inputcac1140.inp.log inputcac1240.inp.log inputcac1340.inp.log 
    inputcac1050.inp.log inputcac1150.inp.log inputcac1250.inp.log inputcac1350.inp.log 
    inputcac1060.inp.log inputcac1160.inp.log inputcac1260.inp.log inputcac1360.inp.log 
    inputcac1070.inp.log inputcac1170.inp.log inputcac1270.inp.log inputcac1370.inp.log 
    inputcac1080.inp.log inputcac1180.inp.log inputcac1280.inp.log inputcac1380.inp.log 
    inputcac1090.inp.log inputcac1190.inp.log inputcac1290.inp.log inputcac1390.inp.log 
    inputcac1100.inp.log inputcac1200.inp.log inputcac1300.inp.log inputcac1400.inp.log 

必须被重命名为

inputcac1010.log inputcac1110.log inputcac1210.log inputcac1310.log 
    inputcac1020.log inputcac1120.log inputcac1220.log inputcac1320.log 
    inputcac1030.log inputcac1130.log inputcac1230.log inputcac1330.log 
    inputcac1040.log inputcac1140.log inputcac1240.log inputcac1340.log 
    inputcac1050.log inputcac1150.log inputcac1250.log inputcac1350.log 
    inputcac1060.log inputcac1160.log inputcac1260.log inputcac1360.log 
    inputcac1070.log inputcac1170.log inputcac1270.log inputcac1370.log 
    inputcac1080.log inputcac1180.log inputcac1280.log inputcac1380.log 
    inputcac1090.log inputcac1190.log inputcac1290.log inputcac1390.log 
    inputcac1100.log inputcac1200.log inputcac1300.log inputcac1400.log 

我用

rename 's/inp\.log/log/' *.inp.log 

这似乎并没有工作。我通过阅读文件名和使用sed以不同的方式对它们进行了重命名,但是我为什么这个命令在我的情况下不起作用而感到困惑!任何人都可以澄清?谢谢!

+1

YOur rename command for me works for me。 – 2014-10-03 19:09:38

+1

你的命令不起作用?它做了什么?没有更多的信息,我们当然无法帮助你。 – 2014-10-03 19:10:25

+1

unix.stackexchange.com将是一个更好的网站这个问题 – Barmar 2014-10-03 19:12:46

回答

5

你有rename的版本需要的参数是这样的:

rename inp.log log *.inp.log 

我通常只使用一个循环;性能不是一个大问题,因为你真的需要多长时间一次重命名大量文件?

for f in *.inp.log; do 
    mv "$f" "${f%.inp.log}.log" 
done 
+0

解决了这个问题。谢谢!令人惊讶的是,不同版本的工作**非常不同,尤其是linux实用程序! – madchemist 2014-10-03 19:28:11

+1

它们不是两个完全分离的具有相同名称的程序。没有任何标准需要遵守。 – chepner 2014-10-03 19:31:03

相关问题