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

Re: shell: ajouter du texte en début de ligne d'un fichier



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



Reply to: