Rechercher : dans
Par :

Lecture ligne shell script

Dernière réponse le 13 jan 2009 à 09:49:12 farah, le 12 jan 2009 à 13:30:47 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « lecture ligne shell script » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...

1

Char Snipeur, le 12 jan 2009 à 14:10:09

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

3

farah, le 12 jan 2009 à 14:14:38
  • +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

Répondre à farah

5

Char Snipeur, le 12 jan 2009 à 17:02:21

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

2

fiddy, le 12 jan 2009 à 14:14:03

Ou tout simplement :

sed -n 4p /tmp/stat.out 

Cdlt
Google is your friend

Répondre à fiddy

4

farah, le 12 jan 2009 à 14:16:23

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?

Répondre à farah

6

fiddy, le 12 jan 2009 à 18:51:02

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.
Google is your friend

Répondre à fiddy

7

 Char Snipeur, le 13 jan 2009 à 09:49:12

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é. Salutation !
Char Snipeur

Répondre à Char Snipeur
Collection CommentÇaMarche.net