Попробуйте этот один вкладыш:
find . -type f -name "*Unknown*" | rename 's/(.*).Unknown(.*)(csv|pdf)/$1$2$3/'
, который может удалить '.Unknown' из любой позиции, кроме первой и последней, или этот:
find . -type f -name "*Unknown*" | rename 's/(.*)Unknown.(csv|pdf)/$1$2/'
, если '.Unknown' должны быть удалены из позиции непосредственно перед расширением pdf или csv
EDIT:
Если вам нужна версия dry -run, вы можете использовать sed
и стандартный вывод вместо rename
:
find . -type f -name "*Unknown*" | sed 's/\(.*\)Unknown.\(csv\|pdf\)/\1Unknown.\2 -> \1\2/'
, который дает вывод:
./StJamesRow.2010.Unknown.csv -> ./StJamesRow.2010.csv
./MarbleArch.2015.Unknown.pdf -> ./MarbleArch.2015.pdf