Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2008, 15h02   #1
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Par défaut Lire un fichier ligne par ligne

Bonjour,

J'ai quelques difficultés en Bash pour écrire ce script: Je voudrais lire un fichier ligne par ligne pour lancer une commande avec la ligne comme argument. Chaque ligne est formée de plusieurs mots (séparés par des blancs). Du genre:
Code :
1
2
3
4
5
 
while read line from ${file}
do
    command ${line}
done
La commande read lit du clavier. Peut-être faudrait-il une redirection? Ou d'autres idées?
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 16h22   #2
Membre expérimenté
 
Avatar de Pilru
 
Homme
Dev ASP.NET/jQuery ; Admin ORACLE
Inscription : septembre 2007
Messages : 418
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Dev ASP.NET/jQuery ; Admin ORACLE

Informations forums :
Inscription : septembre 2007
Messages : 418
Points : 531
Points : 531
Essayes :

Code :
1
2
3
4
5
 
while read ligne
do
   command ${ligne}
done < ${fichier}
Pilru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 08h40   #3
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Comme tu m'as dit, Pilru, j'ai écrit l'essai suivant:
Code :
1
2
3
4
5
6
7
 
#!/bin/bash
 
while read line
do
    echo ${line}
done < myFile.txt
Et... ça marche exactement comme il faut: je lis le fichier myFile.txt ligne par ligne jusqu'à la fin. La syntaxe n'était pas évidente. Merci beaucoup!
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h18.


 
 
 
 
Partenaires

Hébergement Web