[shell] format de date dans un fichier

Fermé
noobydooby - 18 oct. 2010 à 16:22
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 19 oct. 2010 à 07:19
Bonjour,

je voudrais changer le format de date de plusieurs fichiers, les dates sont au format :

mm/jj/aaaa et je voudrais quelles soient au format aaaammjj

tous les fichiers sont des fichiers texte, contenant 42 champs séparés par des ,

le champ qui m'interesse est le 18ème.

j'arrive a faire ce que je veux sur une ligne en faisant :

date=$(cat myfile.csv | awk -F , '{print $18}' | grep ^[0-9]); newdate=$(cat myfile.csv | awk -F , '{print $18}' | grep ^[0-9] | awk -F / '{print $3$1$2}'); cat myfile.csv | sed 's/'"$date"'/'"$newdate"'/'

le problème est que étant un grand débutant en shell je n'arrive pas a boucler ça sur la lecture de mon fichier, j'ai essayé avec while read < myfile, mais je ne m'en sors pas, merci de votre aide :)



A voir également:

1 réponse

hello,

auto réponse, j'ai echangé mon usine a gaz contre une substitution a base de sed, problème réglé :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
18 oct. 2010 à 20:23
Salut,

Happy for you, mais il eut été intéressant de savoir par quelle pirouette sedesque tu as remplacé ton usine à gaz ;-))
0
tout a fait thierry, j'ai procédé de la sorte : sed 's/\(..\)\/\(..\)\/\(....\)/\3\1\2/'
je retire ce que j'ai dit sur l'usine a gaz, sed c'est pas mal non plus dans le genre :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
19 oct. 2010 à 07:19
Merci ;-))
0