awk -F\~ ' /^ACT/ { # Recherche des lignes commencant par ACT
print 0ドル # Affiche la ligne avant transformation
if (match(12,ドル/^0/)) { # si le 12e champ commence par 0
12ドル=14ドル # remplacer le champ 12 par le champ 14
}
print 0ドル On affiche la ligne resultante. Attention j'ai omis un truc:si on veut conserver les ~ en separateur de champ il faut initialiser OFS a "~" ce qui se fait en insérant : OFS="~" avant le print 0ドル
}' toto Fin du script Awk + nom dui fichier a traiter.
Suopprime le premier print 0ドル si tu ne veux pas tes lignes en 2 exemplaires.
Je laisse quelqu'un d'autre faire la meme chose en Perl.
[^] # Re: en awk:
Posté par totof2000 . En réponse au message besoin de commande perl pour éviter une boucle sur grep, un if et un sed (en clair un rechercher remplacer conditionnel). Évalué à 2.
awk -F\~ ' /^ACT/ { # Recherche des lignes commencant par ACT
print 0ドル # Affiche la ligne avant transformation
if (match(12,ドル/^0/)) { # si le 12e champ commence par 0
12ドル=14ドル # remplacer le champ 12 par le champ 14
}
print 0ドル On affiche la ligne resultante. Attention j'ai omis un truc:si on veut conserver les ~ en separateur de champ il faut initialiser OFS a "~" ce qui se fait en insérant : OFS="~" avant le print 0ドル
}' toto Fin du script Awk + nom dui fichier a traiter.
Suopprime le premier print 0ドル si tu ne veux pas tes lignes en 2 exemplaires.
Je laisse quelqu'un d'autre faire la meme chose en Perl.