Bonjour,
j'ai un fichier "monfichier" qui contient des blocs de lignes:
J'ai besoin d'ajouter des lignes zz après chaque ligne yy , le reste de la ligne est identique à la précédente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 xx toto1 yy toto2 xx titi1 yy titi2 xx tutu1 yy tutu2 xx tata1
A noter que je travaille sur AIX donc pas de sed -i.
J'ai commencé par:
et enfin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 grep yy monfichier >> resultat perl -pi -e 's/yy/zz/g' resultat
Le résultat est + ou moins celui attendu car j'ai toutes mes lignes zz en fin de "monfichier" alors que je voudrais les insérer après chaque ligne xx pour que mon fichier soit plus propre et plus lisible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while read line do echo $line >> monfichier done < resultat
"monfichier" fait + ou - 500 blocs, je n'ai donc pas trop envie de le faire à la main. Comme il s'agit d'un fichier qui est utilisé en paramètre d'un batch, mes commandes ci-dessus font le job mais ça manque de maîtrise et mon fichier n'est pas "carré"
Je suis convaincu qu'un petit sed ou awk en une ligne doit être capable de faire ça.
Merci
Partager