Hello à vous, ô pros du shell !
Je vous préviens de suite : ce qui suit n'est pas un TP, j'ai fini mes cours depuis longtemps !
J'ai fait une boulette, et au lieu d'avoir une requête update lancée comme il faut, j'ai un 'not' qui a foutu le bordel dans une de mes tables.
J'ai bien des sauvegardes, mais elles récupèrent toute la base, et pas uniquement les quelques lignes que j'ai bronsonisées....
Aussi, je me tourne vers vous pour résoudre ce qui vous semblera certainement bénin.
J'ai un fichier qui se compose de lignes sous la forme suivante :
75, '2005-09-14', true, 1, true, '08:30:00', '12:15:00', 225, 'Aucune'
75, '2005-09-14', false, 1, true, '13:30:00', '17:30:00', 240, 'Aucune'
...
Ces lignes sont répétées à l'envi. Il ne faudrait récupérer que les lignes qui ont le 3ème champ à true, et les reformatter sous cette forme :
update table set ch1 = '08:30:00', ch2 = '12:15:00', ch3 = 'Aucune' where ch4 = 75 and ch5 = true and ch6 = '2005-09-14';
Le true en face de ch5 correspond au champs 3 cité plus haut. Pour les curieux, c'est un boolean qui indique true = matin, false = après-midi.
Evidement, on doit pouvoir faire ça avec awk (gawk). Mais comme je n'en connais que le nom, je suis un peu dans la panade avec cette histoire....
D'avance merci pour votre aide bien précieuse !
# awk
Posté par Hardy Damien . Évalué à 4.
Dam
# awk ton deuxième meilleur ami
Posté par Dabowl_92 . Évalué à 3.
[^] # Re: awk ton deuxième meilleur ami
Posté par totof2000 . Évalué à 4.
cat ton_fichier | awk -F',' '
Pourquoi?
awk -F [ .....] nom_de_fichier suffit. Le cat NE SERT A RIEN!
# Sauvegardes
Posté par Ph Husson (site web personnel) . Évalué à 2.
Si c'est un dump SQL normal suffit de récuperer la bonne table, c'est franchement plus simple.. .(surtout quand on y connait rien en scriptig comme moi (et toi visiblement :))
[^] # Re: Sauvegardes
Posté par Gyro Gearllose . Évalué à 3.
Justement, l'extrait de fichier est tiré de mes sauvegardes. Pour éclaircir la chose : je n'allais pas restaurer la base complète pour une partie des heures de pointage d'un agent qui sont parties en vrilles suite à une erreur de ma part.
Par ailleurs, la restauration complète m'aurait fait perdre une journée de travail pour tout le monde....
Enfin, je ne pouvais pas faire un delete/insert sur cette table pour les lignes concernées pour cet agent, car cette table est bourrée de triggers, et je suis pratiquement que le remède aurait été pire que le problème dans ce cas particulier....
En tout cas, mon problème est réglé, c'est le principal !
[^] # Re: Sauvegardes
Posté par DocteurCosmos . Évalué à 1.
Par simple curiosité de ma part, les types pointent sur une appli informatique ?
[^] # Re: Sauvegardes
Posté par Gyro Gearllose . Évalué à 2.
C'est basé sur la bonne foi et l'honnêteté des gens (mouarf). C'est une application que j'ai développé en php. Elle s'appuie sur une base de données postgreSQL, ainsi que sur LaTeX pour la génération des documents.
Voilà...
# Réponse groupée :
Posté par Gyro Gearllose . Évalué à 2.
En fait, awk, c'est vraiment de la balle ! Je vais me pencher sérieusement sur la doc !
En tout cas, mon pb est réglé, je vais pouvoir retourner dormir tranquille !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.