Я хочу заменить все специальные символы (i.e. _?:/)(\-\n\t)
во всех именах PDF-файлов на пробелы.
Я не смог этого сделать, поэтому я просто попытался удалить их с помощью этой команды.
По некоторым причинам эта команда иногда работает для тестового примера, но не для других. Выдает ошибку mv: target не является каталогом, а также имена входных и целевых файлов совпадают (если нет специального символа для удаления).
find . -name '*.pdf' -exec sh -c 'if="{}"; of=$(echo $if|tr -d '_:-' ); mv $if $of ;' \;
Я ожидаю изменения имени файла:
a:bc-de_(fg).pdf
Быть
a bc de fg .pdf