Bonjour,
Le mardi 24 octobre 2006, fabrice regnier a écrit...
> J'aimerai tagué un fichier en rajoutant un motif du genre <TRAITE> en
> début de ligne de mon fichier.
> La difficulté provient du fait que je veux taguer uniquement certaines
> lignes (et pas en perl ;) )
> Par exemple:
> # cat fichier
> toto ceci est la ligne 1
> titi ceci est la ligne 2
> tata ceci est la ligne 3
> toto ceci est la ligne 4
> tutu ceci est la ligne 5
> Je fait un grep toto dans fichier_tempo
> # cat fichier_tempo
> toto ceci est la ligne 1
> toto ceci est la ligne 4
> Ensuite, dans un script qui lit fichier_tempo, je voudrais tagger les 2
> lignes "toto ceci est la ligne 1" et "toto ceci est la ligne 4" du
> fichier et avoir ainsi en bout de course:
> # cat fichier
> <TRAITE>toto ceci est la ligne 1
> titi ceci est la ligne 2
> tata ceci est la ligne 3
> <TRAITE>toto ceci est la ligne 4
> tutu ceci est la ligne 5
Si tu connais ton motif, mettons 'toto', et si j'ai bien compris...
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
ou tu reprends les exemples d'hier ou avant hier pour ne pas faire un
fichier temporaire fichier_traite, si tu es sûr de toi.
--
jm
A.E.L. Sarl (R.C.S CASTRES 490843240)
http://www.affaires-en-ligne.com
--
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]