我有一堆文件(几千份)叫做:
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
但这行不通..。
关于如何改变这个问题有什么建议吗?
谢谢..。
发布于 2015-07-16 12:23:09
您可以使用:
rename 's/output\.temp/output/' output.temp.*.csv这将将3个文件重命名为:
output.1.csv
output.2.csv
output.3.csv发布于 2015-07-16 12:38:31
以下是重命名所有文件的另一种解决方案:
ls -ltrh | grep -i output | awk '{print $9}' | awk -F\. '{print "mv",$0, $1"."$3"."$4}' | sh发布于 2015-07-16 13:35:08
离开anubhava的答案,如果您的所有文件不在同一个目录中,您可以使用
find path/to/dir/ -name 'output.temp.*.csv' -exec rename 's/output\.temp/output/' {} +
重命名path/to/dir及其任何子目录中的所有文件。
https://stackoverflow.com/questions/31454007
复制相似问题