Jean-Michel OLTRA a écrit, mardi 24 octobre 2006, à 22:33 :
>     Bonjour,

bonjour,

> Je le fais en 2 passes car je ne suis pas doué avec sed :
> 
> 1/ d'abord en fichier, mettons traite.sed, qui va ajouter la ligne
> <traité> avant la ligne 'toto'
> 
> # traite.sed
> /toto/i\
> <traité>
> 
> 2/ puis le passage :
> 
> sed -f traite.sed mon_fichier | sed /^<traité>/ N;s/\n//' > fichier_traite

Plus direct,

 sed -e '/toto/s/^/<traité>/' <mon_fichier >fichier_traité

ou encore

 sed -i.old -e '/toto/s/^/<traité>/' fichier_modifié


Par  ailleurs, pour  purger les  lignes répétées  d'un fichier,  sans le
trier au préalable, on peut utiliser

 awk '!n[$0]++' <fichier_avec_doublons >fichier_sans_doublons

ou une variante avec délimiteur et numéro de champ...
-- 
Jacques L'helgoualc'h


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter 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 à