У меня есть около 200 файлов с такими именами:
01_-_Back_Alley_Uproar.avi
01_-_Bad_Luck_Cat.avi
01_-_Beep_Beep.avi
02_-_Broomstick_Bunny.avi
02_-_Bunker_Hill.avi
и так далее. Я хотел бы переименовать их все, чтобы они выглядели так:
Back Alley Uproar.avi
Bad Luck Cat.avi
Beep Beep.avi
Broomstick Bunny
Bunker Hill
и так далее ...
Мне нужно использовать командную строку, поскольку я подключен через ssh через winSCP из окна Windows, чтобы попасть на мой сервер Ubuntu, содержащий эти файлы. Заранее спасибо.
Вы можете использовать команду rename
с соответствующими регулярными выражениями, например,
s/^\d+_-_//
для «заменить начальную последовательность цифр с последующим подчеркиванием дефисом»; и
s/_/ /g
заменить подчеркивания пробелами. Итак,
rename -nv 's/^\d+_-_//;s/_/ /g' *.avi
-n
заставляет его работать в тестовом режиме (пробный запуск) - протестируйте его в своем каталоге и, если вы счастливы, что он работает правильно, запустите его без n
[ 119]
Вы можете использовать следующую команду:
rename 's/[0-9]+_-_//; s/_/\ /g' *