unRefraction
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вечер добрый. Опишу суть задания: В качестве параметров указывается строка и начальная директория поиска, с условием, что скрипт будет обрабатывать каталоги, в именах которых есть пробелы. Скрипт должен найти все файлы в каталоге и подкаталогах, в которых есть эта строка, вывести полный путь к файлу и их размер. Если к каталогу нет доступа - вывести сообщение и продолжить поиск. Т.е. вывести ошибку открытия надо не средствами грепа, а вручную через условие возврата 1 функцией. Собственно проблема с последним пунктом. Если поиск файлов и вывод их с размером делается след образом: fgrep -lrZs $1 $2 | xargs -0 du -b то как вывести вручную ошибки открытия каталогов я не знаю. Если делать через цикл for, то задача упрощается, но в случае, если попадется каталог с пробелом в имени, то в переменную i попадет только часть пути до пробела. Хотя возможно я не правильно задаю условие цикла. При for i in `find $2` в i заносится только кусок пути. При for i in "`find $2`" в i заносится строка со всеми путями. Очень нужна помощь с данной задачей. К концу недели надо сдать, а идей больше нету. |