重命名命令不能按预期工作

时间:2014-10-03 19:07:36

标签: bash file shell rename glob

我使用'rename'命令重命名一组文件;例如:

    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 个答案:

答案 0 :(得分:9)

你的rename版本带有这样的参数:

rename inp.log log *.inp.log

我通常只使用一个循环;性能不是一个大问题,因为您经常需要一次重命名大量文件吗?

for f in *.inp.log; do
    mv "$f" "${f%.inp.log}.log"
done
相关问题