[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Rechercher une ligne dans un gros fichier trié



Le 16/11/04 à 11:42, Yves Rutschle écrivait:

> - On a la liste des fichiers "installés" (.deb présent dans
>   /var/cache/apt-proxy):
> 
>   find /var/cache/apt-proxy -name "*.deb" | sort > $TMPFILE1
> 
> - On a la liste des fichiers "valides" (mentionné dans un
>   fichier Package):
> 
> cat `find $DISTS_DIR -name Packages` | grep $MOTIF | sed "s!$MOTIF!$HOST/!" | sort > $TMPFILE2
> 
> On trouve maintenant facilement quels paquets peuvent être effacés:
> 
> diff -u $TMPFILE2 $TMPFILE1 | grep "^+" | sed -e "s/^+//" | xarg rm -f

Comme les fichiers TMPFILE* sont triés, on doit pouvoir utiliser "comm" à
la place de diff et sed :
  comm -23 $TMPFILE1 $TMPFILE2 | xargs rm -f

A tester !

> Tadaaaa!
Tadadaaa !

> Y - qui vient d'effacer 874 paquets obsolets.
Le ménage s'imposait ;-)
Jean-Pierre



Reply to: