ptite aide gawk pour afficher la ligne que je veux - Shell/Batch - Programmation
Marsh Posté le 04-10-2005 à 17:40:07
je crois que ça marche avec :
#!/bin/bash |
mais c'est pas hyper joli. mais bon tant que ça marche. si qq'un a mieux
j'ai trouvé un super poly de l'ensimag sur awk/gawk : http://ploug.eu.org/doc/principe-awk-lacroix.pdf
merci.
Marsh Posté le 05-10-2005 à 13:29:37
Une solution parmis tant d'autres ...
gawk ' |
Marsh Posté le 05-10-2005 à 15:41:37
Merci Deadlock
Et sinon dernière question parce que celle là je vois vraiment pas....
Ya moyen d'utiliser ds un gawk une variable shell?
du genre
|
je voudrais bien entendu lire une variable au clavier et que mon script ci dessus modifie l'affectation de "variable_a_modifier" dans le "fichier_a_modifier". là ça marche pas ça l'affiche à l'écran, et encore avec un export de var....
Merci les gars, en particulier Deadlock qui répond présent à chaque fois que je post
Marsh Posté le 05-10-2005 à 16:19:13
Pour passer une variable Shell à AWK tu utilises l'option -v :
read var |
La variable AwkVar dans le code awk aura la valeur de $var du shell
Marsh Posté le 06-10-2005 à 05:07:18
Ceci dit, au-delà de 10 lignes, je lâcherais awk pour perl (plus facile à apprendre, rapide, pratique).
Marsh Posté le 06-10-2005 à 08:05:23
el muchacho a écrit : Ceci dit, au-delà de 10 lignes, je lâcherais awk pour perl (plus facile à apprendre, rapide, pratique). |
Ca dépend du "passif" ... je suis sysadmin depuis plus de 12 ans, quand j'ai commencé, perl n'existait pas, donc j'ai pris l'habitude de scripter en AWK ... et celà pour du code dépassant parfois largement la 100aine de lignes. Perl, je fais joujou avec mais c'est tout ... c'est peut être plus rapide (et plus puissant via les modules) mais je n'en ai pas l'utilité, sauf dans de rares cas pour des accès oracle via DBI/DBD.
Marsh Posté le 04-10-2005 à 16:10:49
Salut les gars
je voudrais faire la chose suivante : je veux savoir là où ya marqué "Error" dans mon fichier "donnees.dat" et afficher la 5è ligne qui suit ce "Error", ce que je peux illustrer par le script suivant :
#!/bin/bash
gawk ' BEGIN { FS=" = "}
$2 == "Error" { NR=NR+5 ; print $0 }
END { }' donnees.dat
comme vous pouver vous en douter le NR=NR+5 ne marche pas. Quelqu'un saurait comment faire ?