ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] Удаление битых ссылок
@ 2001-02-09 12:00 cornet
  2001-02-10 14:25 ` [mdk-re] " Mikhail Zabaluev
  0 siblings, 1 reply; 4+ messages in thread
From: cornet @ 2001-02-09 12:00 UTC (permalink / raw)
  To: mandrake-russian

Hello!!

Волею судеб, на сервере в одном каталоге и его подкаталогах образуется
большое количество битых символических ссылок (то есть указывающих на
уже не_существующие файлы). Этих ссылок много и чистить их руками сильно
ломает. Может подскажет кто простой способ автоматизации этого дела?
Хотелось бы залудить на cron скриптик, который лез бы в вышеозначеный
каталог и рекурсивно долбал бы все эти битые ссылки.

Заранее благодарен за ценные мысли :-))

-- 
******** FIRE & STEEL ********



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [mdk-re] Re: [mdk-re] Удаление битых ссылок
  2001-02-09 12:00 [mdk-re] Удаление битых ссылок cornet
@ 2001-02-10 14:25 ` Mikhail Zabaluev
  2001-02-12 12:10   ` cornet
  0 siblings, 1 reply; 4+ messages in thread
From: Mikhail Zabaluev @ 2001-02-10 14:25 UTC (permalink / raw)
  To: mandrake-russian

Hello cornet,

On Fri, Feb 09, 2001 at 12:01 +0300, cornet wrote:
>
> Hello!!
> 
> Волею судеб, на сервере в одном каталоге и его подкаталогах образуется
> большое количество битых символических ссылок (то есть указывающих на
> уже не_существующие файлы). Этих ссылок много и чистить их руками сильно
> ломает. Может подскажет кто простой способ автоматизации этого дела?
> Хотелось бы залудить на cron скриптик, который лез бы в вышеозначеный
> каталог и рекурсивно долбал бы все эти битые ссылки.


find <каталог> -type l -ls | awk '{ N1 = NF - 2; print $N1; print $NF }' |
    while read link && read file; do
        [ -n "${file##/*}" ] && file=`dirname $link`/$file
        [ -e "$file" ] || rm -f "$link"
    done

-- 
Stay tuned,
  MhZ                                    mailto:mookid@sigent.ru
-----------
"Be *excellent* to each other."
-- Bill, or Ted, in Bill and Ted's Excellent Adventure



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [mdk-re] Re: [mdk-re]  Удаление битых ссылок
  2001-02-10 14:25 ` [mdk-re] " Mikhail Zabaluev
@ 2001-02-12 12:10   ` cornet
  2001-02-13  9:13     ` Mikhail Zabaluev
  0 siblings, 1 reply; 4+ messages in thread
From: cornet @ 2001-02-12 12:10 UTC (permalink / raw)
  To: mandrake-russian

Mikhail Zabaluev wrote:
> 
> Hello cornet,
> 
> On Fri, Feb 09, 2001 at 12:01 +0300, cornet wrote:
> >
> > Hello!!
> >
> > Волею судеб, на сервере в одном каталоге и его подкаталогах образуется
> > большое количество битых символических ссылок (то есть указывающих на
> > уже не_существующие файлы). Этих ссылок много и чистить их руками сильно
> > ломает. Может подскажет кто простой способ автоматизации этого дела?
> > Хотелось бы залудить на cron скриптик, который лез бы в вышеозначеный
> > каталог и рекурсивно долбал бы все эти битые ссылки.
> 
> find <каталог> -type l -ls | awk '{ N1 = NF - 2; print $N1; print $NF }' |
>     while read link && read file; do
>         [ -n "${file##/*}" ] && file=`dirname $link`/$file
>         [ -e "$file" ] || rm -f "$link"
>     done

Уййёёёё!!
Дааа, Вы не ищете легких путей :-))
Ладно, попробую разобраться в этом ураганном синтаксисе. В любом случае
-- спасибо :-))

-- 
******** FIRE & STEEL ********



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [mdk-re] Re: [mdk-re] Удаление битых ссылок
  2001-02-12 12:10   ` cornet
@ 2001-02-13  9:13     ` Mikhail Zabaluev
  0 siblings, 0 replies; 4+ messages in thread
From: Mikhail Zabaluev @ 2001-02-13  9:13 UTC (permalink / raw)
  To: mandrake-russian

Hello cornet,

On Mon, Feb 12, 2001 at 12:12 +0300, cornet wrote:
>
> Mikhail Zabaluev wrote:
> > 
> > Hello cornet,
> > 
> > On Fri, Feb 09, 2001 at 12:01 +0300, cornet wrote:
> > >
> > > Hello!!
> > >
> > > Волею судеб, на сервере в одном каталоге и его подкаталогах образуется
> > > большое количество битых символических ссылок (то есть указывающих на
> > > уже не_существующие файлы). Этих ссылок много и чистить их руками сильно
> > > ломает. Может подскажет кто простой способ автоматизации этого дела?
> > > Хотелось бы залудить на cron скриптик, который лез бы в вышеозначеный
> > > каталог и рекурсивно долбал бы все эти битые ссылки.
> > 
> > find <каталог> -type l -ls | awk '{ N1 = NF - 2; print $N1; print $NF }' |
> >     while read link && read file; do
> >         [ -n "${file##/*}" ] && file=`dirname $link`/$file
> >         [ -e "$file" ] || rm -f "$link"
> >     done
> 
> Уййёёёё!!
> Дааа, Вы не ищете легких путей :-))
> Ладно, попробую разобраться в этом ураганном синтаксисе. В любом случае
> -- спасибо :-))

Каюсь, забыл, что 'test -e' проверяет не ссылку, а адресата. Век живи, 
дураком помрешь. Более внимательные уже изложили простое решение.

-- 
Stay tuned,
  MhZ                                    mailto:mookid@sigent.ru
-----------
Punishment becomes ineffective after a certain point.  Men become insensitive.
		-- Eneg, "Patterns of Force", stardate 2534.7



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-02-13  9:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-09 12:00 [mdk-re] Удаление битых ссылок cornet
2001-02-10 14:25 ` [mdk-re] " Mikhail Zabaluev
2001-02-12 12:10   ` cornet
2001-02-13  9:13     ` Mikhail Zabaluev

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git