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
    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
  2. 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
  3. 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
      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