我使用'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以不同的方式重命名它们,但我很困惑为什么这个命令在我的情况下不起作用!任何人都可以澄清吗?谢谢!
答案 0 :(得分:9)
你的rename
版本带有这样的参数:
rename inp.log log *.inp.log
我通常只使用一个循环;性能不是一个大问题,因为您经常需要一次重命名大量文件吗?
for f in *.inp.log; do
mv "$f" "${f%.inp.log}.log"
done