我需要重命名一个文件,但保留扩展名(无论它是什么,无需指定)
例如:
file_20161118.csv.ovr
需要重命名为"file.csv.ovr"
。
然而在某些情况下可能是这样的file_20161118.csv.rpl
,在这种情况下我需要它是这样的"file.csv.rpl"
。
谢谢
答案1
rename
成功了。
例如,执行以下命令后,文件名file_20161118.csv.ovr
变为:file.csv.ovr
rename 's/file_20161118/file/' file_20161118*
它使用 Perl 正则表达式,因此你可以用它做很多事情。查看更多示例这里。
答案2
你可能想要:
perl -e'for(@ARGV){ $f=$_; s/_(\d{8})\./\./; rename$f,$_}' file1 file2 files*