我有一堆文件(几千个)叫:
output.temp.1.csv
output.temp.2.csv
output.temp.3.csv
等
我希望所有人都重命名但删除了.temp
output.1.csv
output.2.csv
output.3.csv
等
我认为rename
是我需要的,但不确定如何去做
我试过了:
rename 'output.temp' 'output', output.temp.*.csv
但这没有用......
关于如何改变这一点的任何建议?
...谢谢
答案 0 :(得分:4)
您可以使用:
rename 's/output\.temp/output/' output.temp.*.csv
这会将3个文件重命名为:
output.1.csv
output.2.csv
output.3.csv
答案 1 :(得分:0)
以下是重命名所有文件的另一种解决方案:
ls -ltrh | grep -i output | awk '{print $9}' | awk -F\. '{print "mv",$0, $1"."$3"."$4}' | sh
答案 2 :(得分:0)
关闭anubhava的答案,如果你的所有文件都不在同一个目录中,你可以使用
find path/to/dir/ -name 'output.temp.*.csv' -exec rename 's/output\.temp/output/' {} +
重命名path/to/dir
及其任何子目录中的所有文件。