Есть у меня маленький скрипт.
Суть скрипта, перенаправлять содержимое файлов на bogofilter. После операции удалять файл.
Файлы в каталог сохраняют юзеры.
#!/bin/sh
for elem in `ls /users_tlink/filter/spam/`
do
/bin/cat /users_tlink/filter/spam/$elem | /usr/local/bin/bogofilter -s
/bin/rm /users_tlink/filter/spam/$elem
done
Столкнулся с такой проблемой - пробелы в имени файлов. Юзеры сохраняют файлы как им Бог на душу положит. Естественно попадаются файлы с пробелами в имени. Такие имена в `ls /users_tlink/filter/spam/` разделяются на два элемента. В свою очередь, cat и rm конечно не могут найти файл по кускам имени. Через sed, пробовал обрабатывать множество - `ls /users_tlink/filter/spam/ | sed 's/ /###/g'`
и перед подачей в cat заменять - ele=`echo $elem | sed 's/###/ /g'`
Cat снова не мог найти файл, потому как пробел в имени он считает разделителем в списке файлов. Пробывал перед пробелом добавлять \ - помогает.
Что еще сделать с именем, что бы cat сожрал нормально?
С одной стороны проблема не ахти какая, если бы скрипт не слал письма с ошибками.
Помогите, люди добрые ....