Julien Valroff a �crit, vendredi 29 avril 2005, � 19:29 :
> Le vendredi 29 avril 2005 � 18:54 +0200, Jacques L'helgoualc'h a �crit :
> > [script sed]
>
> J'avais trouv� dans le m�me genre ;-)
> Mon script supprime les _paragraphes_ contenant la ligne "Status: purge
> ok not-installed", un paragraphe �tant d�termin� par 2 lignes vides :
Pas exactement, le premier Package: appara�t ligne n�1 chez moi. Je
suppose qu'un paragraphe commence par une telle ligne, et finit par une
ligne vide (j'ai bien une derni�re ligne vide) ; seuls les paragraphes
de quatre lignes conformes au mod�le sont effac�s.
> #!/bin/bash
> cd /var/lib/dpkg/
> cp status status.backup
> sed -e '/./{H;$!d;}' -e 'x;/Status: purge ok not-installed/d;' \
> status > status.new
- tu effaces aussi un paragraphe qui contiendrait cette cha�ne dans la
description (peu plausible :) ;
- une derni�re ligne non vide serait perdue.
sed -e ':a;N;/\n$/!{$!b a};/\nStatus: purge ok not-installed\n/d' \
status > status.new
> sed -e '/./,$!d' status.new > status
Des lignes vides au d�but ne sont pas g�nantes ici --- mais on peut
regrouper cette commande en t�te du sed pr�c�dent.
> rm -f status.new
>
> echo "Script exited with code $?."
>
> Apr�s ex�cution, le poids de mon fichier status a �t� r�duit de 20ko
> (soit environ 3% de son poids), donc le gain n'est pas vraiment celui
> que j'aurais pu esp�rer...
Chez moi� c'est rentable ;)
$ grep -c '^Package:' status_bref /tmp/supprimes /var/lib/dpkg/status
status_bref:1036
/tmp/supprimes:8245
/var/lib/dpkg/status:9281
> Merci � tous pour votre aide !
Merci � toi aussi,
--
Jacques L'helgoualc'h
--
Pensez � lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]