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]

Répondre à