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.
    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
    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.
  2. Contributeur
    Ou tout simplement :
    sed -n 4p /tmp/stat.out 

    Cdlt
    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?
  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.
    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é.