3 réponses
Bonsoir,
La syntaxe de AWK est la suivante :
awk [options] 'règles' fichier1 [fichier2 ...] ou
awk [options] -f fichier_de_règles fichier1 [fichier2 ...]
On utilise la première forme quand les règles sont courtes, ou quand l'appel se fait dans un script. C'est le cas ou l'on veut effectuer un filtrage de résultat de commande :
<commande> | awk ... | <autre_commande>
La sortie ne doit pas être redirigée dans un fichier d'entrée, il faut passer par un fichier intermédiaire qu'on renommera après exécution.
Les instructions sont de la forme :
<règle> { <action> [; <action> ...] }
Chaque instruction s'applique à chacune des lignes du (des) fichier(s) d'entrée, sauf si passage à la ligne suivante explicite.
L'action la plus courante est "print" qui envoie le contenu de la ligne courante ($0) vers la sortie.
Awk dispose de fonctions internes (ressemblant à celles du C dont printf, et diverses fonctions de traitement de chaînes de caractères), de structures de contrôle (for, while, do ... while, if , else), de la fonction "system" et l'on peut écrire ses propres fonctions (appel par "gsub").
exemple : awk -f mesregles.awk fichier.txt
avec le contenu de "mesregles.awk" suivant :
BEGIN { print 'Bonjour' }
{ print }
recopiera vers la sortie le fichier "fichier.txt" avec une ligne en plus et en tête contenant "Bonjour".
J'espère que ces quelques explications pourront te faire avancer.
Marden.
La syntaxe de AWK est la suivante :
awk [options] 'règles' fichier1 [fichier2 ...] ou
awk [options] -f fichier_de_règles fichier1 [fichier2 ...]
On utilise la première forme quand les règles sont courtes, ou quand l'appel se fait dans un script. C'est le cas ou l'on veut effectuer un filtrage de résultat de commande :
<commande> | awk ... | <autre_commande>
La sortie ne doit pas être redirigée dans un fichier d'entrée, il faut passer par un fichier intermédiaire qu'on renommera après exécution.
Les instructions sont de la forme :
<règle> { <action> [; <action> ...] }
Chaque instruction s'applique à chacune des lignes du (des) fichier(s) d'entrée, sauf si passage à la ligne suivante explicite.
L'action la plus courante est "print" qui envoie le contenu de la ligne courante ($0) vers la sortie.
Awk dispose de fonctions internes (ressemblant à celles du C dont printf, et diverses fonctions de traitement de chaînes de caractères), de structures de contrôle (for, while, do ... while, if , else), de la fonction "system" et l'on peut écrire ses propres fonctions (appel par "gsub").
exemple : awk -f mesregles.awk fichier.txt
avec le contenu de "mesregles.awk" suivant :
BEGIN { print 'Bonjour' }
{ print }
recopiera vers la sortie le fichier "fichier.txt" avec une ligne en plus et en tête contenant "Bonjour".
J'espère que ces quelques explications pourront te faire avancer.
Marden.
on ne peut pas faire print "fichier.txt" par contre
on peut faire une boucle avec getline
voir doc : http://www.salemioche.net/gawk06.htm#SEC46
A+
Nicolas
on peut faire une boucle avec getline
voir doc : http://www.salemioche.net/gawk06.htm#SEC46
A+
Nicolas
Bonjour,
je débute avec Awk et j'aurais voulu savoir s'il était possible d'utiliser dans mon script UNIX une variable déclarée dans un programme Awk intégré à mon script.
En fait je voudrais récupérer dans mon script UNIX la valeur de la variable après traitement par Awk.
Merci à l'avance pour vos réponse.
je débute avec Awk et j'aurais voulu savoir s'il était possible d'utiliser dans mon script UNIX une variable déclarée dans un programme Awk intégré à mon script.
En fait je voudrais récupérer dans mon script UNIX la valeur de la variable après traitement par Awk.
Merci à l'avance pour vos réponse.