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: