Lecture ligne shell script

Bonjour,

J'aimerais écrire un shell script qui va parcourir le fichier "/tmp/stats.out", et qui va retourner tous les mots de la 4ième ligne. Quelqu'un pourrait m'aider svp?

Merci
Configuration: Linux
Firefox 3.0.3

4 réponses

  1. Contributeur
    On peut aussi essayé ça :
    for a in $(sed -n 4p /tmp/stat.out ) then
    do echo $a;
    done

    mais je n'ai pas testé.
    0
    1. Contributeur
      Si tu veux récupérer chacun des mots, tu peux utiliser awk '{print $1}' pour afficher le premier mot.
      Donc : sed -n 4p /tmp/stat.out | awk '{print $1}'
      Pour les autres, tu fais varier $1.
      0
      1. Contributeur
        Ou tout simplement :
        sed -n 4p /tmp/stat.out 

        Cdlt
        0
        1. Merci fiddy...effectivement "sed -n 4p /tmp/stat.out " m'affiche la 4ieme ligne ki est composé de 8 mots.
          Mais comment faire un echo de chacun de ces 8 mots séparement?
          0
      2. Contributeur
        tail -n 1 | head -n 4 /tmp/stat.out
        en conjugant tail et head du devrai y arrivé, mais il faut peut être passer par un fichier temporaire.
        0
        1. Merci Snipeur pour ta réponse, mais "tail -n 1 | head -n 4 /tmp/stat.out " m'affiche le contenu de tout le fichier..or je ne veux ke la ligne 4. La ligne 4 contient 8 mots. Je veux faire un echo de chacun des 8 mots séparement.
          Merci
          0
        2. Contributeur
          oui, je me suis tromper, c'est
          head -n 4 /tmp/stat.out | tail -n 1
          Mais tu aurait pu corriger par toi même. Le principe c'est de tronquer le fichier au delà de la quatrième ligne, puis de ne conserver que la dernière.
          0