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: