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 25/10/2006, 22h04   #1
Membre du Club
 
Avatar de Titouf
 
Inscription : juillet 2004
Messages : 175
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2004
Messages : 175
Points : 56
Points : 56
Par défaut Lire un CSV et répartir les données

Bonjour,
Je suis débutant en UNIX et j'aimerais faire un shell en korn shell, qui lit ligne par ligne un ensemble de fichiers CSV, qui commence tous par toto, et finissent par .csv.
Chaque ligne est composée de 5 données à dispatcher dans 5 variables UNIX.

Et là, en grattant un peu, j'ai vu ce principe mais la personne remplissait une table, j'ai vu aussi le awk... mais je n'ai pas tout compris...

Je vous remercie pour votre aide.
Titouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 13h25   #2
Membre confirmé
 
Inscription : octobre 2005
Messages : 344
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 344
Points : 270
Points : 270
Tu pourrais faire ça:
Citation:
for fichier in `ls -1 toto*csv`
do
while read ligne
do
variable1=`echo $ligne | awk -F ";" '{print $1}'
variable2=`echo $ligne | awk -F ";" '{print $2}'
variable3=`echo $ligne | awk -F ";" '{print $3}'
variable4=`echo $ligne | awk -F ";" '{print $4}'
variable5=`echo $ligne | awk -F ";" '{print $5}'
done < $fichier
done
Mais je ne sais pas si ça te serviras en l'état, vu que les variables vont être ecrasées à chaque tour ....
usf70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 14h04   #3
Membre du Club
 
Avatar de Titouf
 
Inscription : juillet 2004
Messages : 175
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2004
Messages : 175
Points : 56
Points : 56
Si ça marche, ça devrait aller... à la fin de chaque boucle, je fais autre chose.
Merci
Titouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 14h16   #4
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
à la place de
Code :
awk -F ";" '{print $1}'
on peut faire
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h03.


 
 
 
 
Partenaires

Hébergement Web