[mdk-re] Re: [mdk-re] Удаление битых ссылок
cornet
=?iso-8859-1?q?cornet_=CE=C1_zmail=2Eru?=
Пн Фев 12 12:14:02 MSK 2001
"Dmitry V. Levin" wrote:
>
> On Fri, Feb 09, 2001 at 04:35:10PM +0300, cornet wrote:
> > cornet wrote:
> > > А можно как нибудь результат find гнать не в параметр запуска -exec а в
> > > трубу, и на другом конце все это сгребать в цикле, передавать в
> > > переменную $file и обрабатывать той же стокой
> > > [ ! -L "$file" -o -e "$file" ] || rm -f "$file"
> > > ???
> > Ok, уже сам справился :-))
> > Все оказалось до безобразия просто, и требуется всего ОДИН шелл на всею
> > процедуру!
> > Вызов:
> >
> > find ./ -print | ./com.sh
> >
> > Содержимое com.sh:
> >
> > #!/bin/sh
> > while read file
> > do [ ! -L "$file" -o -e "$file" ] || rm -f "$file"
> > done
> >
> > Как все оказывается просто, когда знаешь!!!
> > :-))))))))
>
> А теперь усложним задачу. :)
>
> Представьте себе, что среди множества подлежащих обработке файлов
> встречаются файлы с именами, содержащими, скажем, символ перевода строки.
>
> Тогда Ваш скриптик придется слегка подправить:
> #!/bin/sh
> for file in "$@"; do
> [ -e "$file" ] || rm -f "$file"
> done
>
> и вызывать его так:
> find . -type l -print0 |xargs -r0 ./com.sh
>
Ага, сеньк, об этом я как то не подумал. Хотя ума не приложу как такие
файлы вообще могут появиться :-/
Тем более, что все эти ссылки создаются из скилетной директории, которая
создана и обновляется непосредственно моими ручками и больше никак.
******** FIRE & STEEL ********
Подробная информация о списке рассылки community