У меня есть набор mp3 названных файлов - foo - bar.mp3
. Моя цель состоит в том, чтобы удалить первый дефис и первое пространство на терминале (Bash), который дал бы foo - bar.mp3
. Я попробовал его rename 's/^..//' *
который хорошо работает для названных файлов foo.mp3
. Однако я получаю "Неизвестную опцию: - foo_1 - bar.mp3" для каждого файла. Кто может помочь?
Можно использовать --
указать на конец опций, так, чтобы имена файлов, запускающиеся с -
рассматриваются как аргументы имени файла:
rename -n 's/^..//' -- *.mp3
Напр.
$ rename -n 's/^..//' *.mp3
Unknown option: foo - bar.mp3
Usage:
rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr
[ files ]
тогда как
$ rename -n 's/^..//' -- *.mp3
rename(- foo - bar.mp3, foo - bar.mp3)