что спецсимволы нужно экранировать...
Нет не обязательно, достаточно просто заключить название файла в кавычки.
например:
text
A="%#&;'\".mp3"
rm "$A"Более сложный вариант когда название файла включает в себя символ перехода к следующей строке. Тут уже скрипт сильно усложнится.
Например в директории все файлы *.mp3;" в файлы *.mp3
Ну данный случай очень просто, так как данное расширение у всех файлов (одно и тоже), то можно просто обработать поиск.
text
find . -maxdepth "1" -type f -name "*.mp3;\""|while read file
do
mv "$file" "${file:0:${#file}-6}".mp3
doneтут просто удаляется с конца количество символов включающее в себя расширение файла.
Только данный способ не будет работать если в названии присутствует символ перехода к следующей строке.