[mdk-re] Re: [mdk-re] Удаление битых ссылок
cornet
=?iso-8859-1?q?cornet_=CE=C1_zmail=2Eru?=
Пт Фев 9 15:36:10 MSK 2001
"Dmitry V. Levin" wrote:
>
> On Fri, Feb 09, 2001 at 03:29:06PM +0600, denf на novosoft.ru wrote:
> > >Волею судеб, на сервере в одном каталоге и его подкаталогах образуется
> > >большое количество битых символических ссылок (то есть указывающих на
> > >уже не_существующие файлы). Этих ссылок много и чистить их руками сильно
> > >ломает. Может подскажет кто простой способ автоматизации этого дела?
> > >Хотелось бы залудить на cron скриптик, который лез бы в вышеозначеный
> > >каталог и рекурсивно долбал бы все эти битые ссылки.
> >
> > что-нибудь типа
> > if [ -L $file ] && [ ! -f $file ]; then
> > rm -f $file
> > fi
>
> Корректнее так:
> [ ! -L "$file" -o -e "$file" ] || rm -f "$file"
Отлично работает, и пробелов в именах не_боится :-))
Вызов
find ./ -exec ./com.sh {} \;
содержимое com.sh
#!/bin/sh
file="$1"
[ ! -L "$file" -o -e "$file" ] || rm -f "$file"
Только не совсем понятно, в чем заключается большая корректность по
отношению к варианту, который предложил denf на novosoft.ru, можете о
пояснить?
> Если встречаются файлы с пробелами в именах, то эту строчку следует
> выделить в отдельный скрипт, и вызывать через "find -print 0 |xargs -r0".
уххх... че то xargs очень мудреной штукой оказался :-(( или я еще пока
что не вьехал :-))
--
******** FIRE & STEEL ********
Подробная информация о списке рассылки community