У меня есть много PDF-файлов, которые я хочу переименовать с помощью /usr/bin/rename
.
Файлы названы по следующей схеме:
<rating> <a pretty long title> (<author> <year>).pdf
e.g.: +++ The discovery of some very interesting stuff (Dude 1999).pdf
rating: 1 to 5 '+' signs
year: numerical
Они должны быть переименованы в следующуюpattern:
<author>, <year> <rating> <a pretty long title>.pdf
e.g.: Dude, 1999 +++ The discovery of some very interesting stuff.pdf
Я пытался использовать /usr/bin/rename
и написал эту команду:
rename 's/(.*)\ (.*)\ \((.*)\ (.*)\).pdf/$3, $4 $1 $2.pdf/' *.pdf
Однако команда не считает, что рейтинг всегда содержит знаки «+» и чтогод всегда числовойКак мне этого добиться?Я пробовал что-то вроде ([+]{1,5})
и ([0-9]{4})
, но это не сработало.
Действительно ли rename
способен интерпретировать что-то отличное от (.*)
как входные данные для переменных $1 ... $n
?
Спасибо за помощь!