• [^] # Re: la réponse est simple

    Posté par . En réponse au message Awk 2. Évalué à 3.

    Plus sérieusement, il existe certainement plusieurs solutions en fonction de ce que tu veux faire et de la façon dont tu le fais.

    Donc, comment exécutes-tu ton programme awk actuellement ?
    On va supposer que tu tapes "awk -f programme.awk fichier_à_traiter".

    Où sont tes fichiers à traiter :
    - tous les fichiers d'un répertoire donné ?
    - tous les fichiers pouvant correspondre à un masque ? (par exemple *.txt , */t*.csv, ...)
    - tu as la liste de ces fichiers dans un fichier ?

    Comment veux tu récupérer le résultat :
    - un fichier de sortie par fichier en entrée ?
    - un unique fichier de sortie ?

    Supposons donc que tu veux traiter tous les fichiers *.txt du répertoire courant avec ton programme awk contenu dans le fichier programme.awk et que tu veux un fichier de sortie par fichier d'entrée avec les noms *.out, tu peux faire (sous bash) :

    for f in *.txt ; do awk -f programme.awk "$f" >"${f/.txt$/.out}" ; done


    En fonction de tes besoins, il te reste à adapter ...

    A+
    JJD