Script bash : récuperer des données dans un fichier - Codes et scripts - Linux et OS Alternatifs
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.
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>
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
Marsh Posté le 01-02-2009 à 21:50:12
LoW-iK a écrit : merci à Taz et ogaby |
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.
Marsh Posté le 02-02-2009 à 07:51:33
ogaby a écrit : |
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 ...
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