[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