Hello,
quelqu'un saurait-il me dire ce que signifie le ;1 dans cette ligne de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk 'gsub(/scarlet|ruby|puce/, "red") ;1' fichier
merci d'avance
Hello,
quelqu'un saurait-il me dire ce que signifie le ;1 dans cette ligne de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk 'gsub(/scarlet|ruby|puce/, "red") ;1' fichier
merci d'avance
Bonjour
Ce script est assez mauvais. Dans awk, on commence par une condition, éventuellement entre parenthèses, (répondant à "quand?"), puis on met des instructions entre accolades (répondant à "quoi?").
Ici, gsub et 1 sont des conditions. Comme aucune instruction n'est demandée, alors l'instruction par défaut (l'affichage de la ligne) s'applique (print $0).
"1" est toujours vrai. Donc le "1" provoque l'affichage de la ligne toujours.
Quand a gsub, ça dépend de ce qu'il renvoie.
Ce script est syntactiquement correct, à défaut d'être très lisible.
Le premier "pattern" remplace dans chaque ligne les chaines "scarlet", "ruby" et "puce" par "red" puis affiche les lignes où cette transformation à été effectuée.
Le deuxième pattern, "1", c'est à dire toujours vrai, affiche toutes les lignes.
Le resultat est chaque ligne contenant l'une des trois nuances de rouge en anglais est traitée puis affichée deux fois, les autres lignes sont affichées une fois.
Partager