Aide pour script unix

Bonjour,

je voudrais créer un script unix qui :

J'ai dans 1 fichier de paramètres des noms de fichiers par ex :
fichier A
fichier B
....

Je veux que le script prenne ce fichier en entrée et que pour chaque nom de fichier (fichier A, fichier B), il compte le nombre de lignes, de mots et de caracteres et mette le résultat dans un troisième fichier style :
nom fichier | nbre ligne|nbre de mots|nbre de caractères

merci pour votre aide je connais pas grand chose à unix, à part qu'il faut utiliser le shell wc

cora59
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. ou bien avec une boucle for , en comptant le nombre de
    lignes et de caracteres : cat fichier | wc -l et cat fichier | wc -m :

    repertoire oû se trouvent les fichiers texte :

    cd /repertoire
    for file in `ls -1 *` ; do
    nbl=$(cat "$file" | wc -l) ;
    nbc=$(cat "$file" | wc -m) ;
    echo "fichier $file : nb-ligne: $nbl nb-carac: $nbc" ;
    echo "fichier $file nb-ligne: $nbl nb-carac: $nbc" >> ~/compteur;sleep 2;
    done
    1. Modérateur
      Parce que c'est la syntaxe usuelle (utilisation d'une boucle while) pour lire un fichier ligne par ligne.
      1. Modérateur
        Salut,
        while read ligne
        do 
        var=$(cat "$ligne" | wc)
        echo -e "$ligne : $var"
        done < fichier.entrée > fichier.sortie
        ;-))
        1. par contre peux tu m'expliquer comment le script comprend que ligne est la premiere ligne de mon fichier en entrée

          merci