Script bash : récuperer des données dans un fichier

Script bash : récuperer des données dans un fichier - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 01-02-2009 à 17:45:37    

Bonjour et merci d'avance pour vos réponses ;)
 
donc voilà j'ai affaire à des grands fichiers contenants ce type de données :
 
30058;Mlle;AMANDA;KERNE;09/09/1986;927-45;Cours semestriels;19/12/2008
30081;Mlle;YOON;SU HYOUN;04/01/1985;927-51;Formations société;19/12/2008
 
je cherche à extraire de chaque ligne le 3eme, 4eme, 5eme et 8eme champs (séparés par des points virgules) puis les écrire dans un nouveau fichier qui sera du type :
 
AMANDA;KERNE;09/09/1986;19/12/2008
YOON;SU HYOUN;04/01/1985;19/12/2008
 
autrement dit un script bash qui me vire le 1er, 2eme, 6eme et 7eme champs
 
je n'ai que de vagues notions de programmation, ça me parait pas compliqué mais je suis incapable de pondre un tel script ...
 
une idée ?
 
merci

Reply

Marsh Posté le 01-02-2009 à 17:45:37   

Reply

Marsh Posté le 01-02-2009 à 17:54:48    

awk -F';' ...
 
t'as plein de cours sur awk sur l net.
 
Ou bien fait du perl.

Reply

Marsh Posté le 01-02-2009 à 18:03:00    

awk serait ici plus simple et rapide: http://www.funix.org/fr/unix/awk.htm
 
awk -F';' définit le point virgule comme séparateur de champs.
 
awk -F';' '{print $3}' <fichier> te fait afficher le 3ème champs de <fichier>
 
essaie également
awk -F";" '{print $3 $4}' <fichier>  
awk -F";" '{print $3";"$4}' <fichier>

Reply

Marsh Posté le 01-02-2009 à 18:57:38    

merci à Taz et ogaby
 
voici le script final
 
#!/bin/bash
awk -F";" '{print $3";"$4" "$5" "$8}' etudiants > ./etudiants.1

Reply

Marsh Posté le 01-02-2009 à 21:50:12    

LoW-iK a écrit :

merci à Taz et ogaby
 
voici le script final
 
#!/bin/bash
awk -F";" '{print $3";"$4" "$5" "$8}' etudiants > ./etudiants.1


De rien mais t'aurais pas oublier des points virgules?
 
Ton fichier est certainement un fichier d'excel ou oo calc. Si tu rajoutes les points virgules ente les champs et que tu enregistres dans <fichier>.csv , tu pourras l'ouvrir sans qu'on te demande de le convertir.

Reply

Marsh Posté le 02-02-2009 à 07:51:33    

ogaby a écrit :


De rien mais t'aurais pas oublier des points virgules?
 
Ton fichier est certainement un fichier d'excel ou oo calc. Si tu rajoutes les points virgules ente les champs et que tu enregistres dans <fichier>.csv , tu pourras l'ouvrir sans qu'on te demande de le convertir.


merci du conseil ogaby, si je n'ai pas mis tous les points virgules, c'était juste pour une meilleure lisibilité du fichier, en fait ce n'est pas encore la vraie version finale mais juste une première étape  
... à suivre ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed