Мне нужно переименовать файл, но сохранить расширение (каким бы оно ни было, без указания его)

Например:

file_20161118.csv.ovr необходимо переименовать в "file.csv.ovr" .

Однако в некоторых случаях это может быть file_20161118.csv.rpl , и в этом случае мне нужно, чтобы он был "file.csv.rpl" .

Спасибо

2 ответа2

1

rename делает свое дело.

Например, файл с именем file_20161118.csv.ovr становится file.csv.ovr после этой команды:

rename 's/file_20161118/file/' file_20161118*

Он использует регулярные выражения Perl, так что вы можете многое с ним сделать. Проверьте больше примеров здесь.

0

Вы можете захотеть:

perl -e'for(@ARGV){ $f=$_; s/_(\d{8})\./\./; rename$f,$_}' file1 file2 files*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .