Awk if: condition sur le print
marwai
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Salut!
Je suis sur un petit code avec awk: je cherche un motif, et si il est trouvé je souhaite printer les 3 lignes suivantes. Sans le if aucun problème:
Mais avec un if, je bloque sur la condition avant le print (je souhaite faire un autre traitement si le motif n'est pas trouvé). Notamment j'ai une erreur de syntaxe qui point sur le print
Si quelqu'un a une solution, merci d'avance!
Je suis sur un petit code avec awk: je cherche un motif, et si il est trouvé je souhaite printer les 3 lignes suivantes. Sans le if aucun problème:
awk '/motif/ {x=NR+3}(NR<=x) {print > "sortie"}' input
Mais avec un if, je bloque sur la condition avant le print (je souhaite faire un autre traitement si le motif n'est pas trouvé). Notamment j'ai une erreur de syntaxe qui point sur le print
awk '{ if (/motif/) {x=NR+3}(NR<=x) {print > "sortie"};} else
Si quelqu'un a une solution, merci d'avance!
Je pense que la réponse à ta question est non (je ne la comprends pas très bien XD): exemple:
blablablamotifblabla
blablablamotifblabla
blablabla
blablabla
je voudrais avoir:
blablablamotifblabla
blablablamotifblabla
blablabla
puis
blablablamotifblabla
blablabla
blablabla
Peut être que la question est un peu trop spécialisée: d'une manière générale je voudrais juste savoir comment faire accepter un truc type {x=NR+3}(NR<=x) avant le print dans un awk if
pour ton exemple, puisqu'on imprime 2 fois la 1ère ligne blablabla, il faut stocker les lignes, je ferais comme ça