• # simplifier la logique

    Posté par . En réponse au message Script awk : Afficher le nom du fichier en cours de traitement ?. Évalué à 2.

    actuellement tu dis à ton shell :

    prend tous les fichiers CSV et regarde dedans (cat /dossier/.csv) => tu as une seule liste pleine de ligne, tu ne sais donc plus quel fichier est traité
    dans le resultat, cherche les lignes qui contiennent **foo
    *,
    traitement avec awk

    dis lui simplement :
    pour chaque fichier csv present dans /dossier/
    affiche son nom
    execute le awk sur le fichier

    ce qui traduit en shell donnerait

    for FICHIER in /dossier/*.csv;
    do
     echo $FICHIER # pour afficher le nom du fichier qu'on traite
     cat $FICHIER | grep foo | awk '{.....}'
    done

    d'apres les exemples données precedemments on peut evidemment faire mieux, en une seule ligne de awk, mais c'est moins lisible (pour debuter)