Awk

bsad -  
 GATARD -
Bonjour,
Peut-on faire l'appel d'un fichier.txt dans un programme awk ?
Par exemple :
awk ' {
print "bonjour"
print "fichier.txt"
}
N.B le fichier.txt se trouve dans le même répertoire
Si quelqu'un sait comment le faire merci de me répondre.

3 réponses

  1. Marden Messages postés 1075 Statut Membre 210
     
    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.
    0
  2. GATARD
     
    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.
    0