J'ai sur l'entrée standard des lignes qui arrivent avec dedans des noms
de mois abrégés en anglais (Jan, Feb, Mar...). Je voudrais les remplacer
par leurs numéros.
Mon côté goret se dit qu'il pourrait faire :
sed 's/Jan/01/' | sed 's/Feb/02/' | ... | sed 's/Dec/12/'
Mais mon côté moins goret se dit que c'est quand même lourd et pas beau
et qu'il doit bien y avoir moyen de faire mieux. J'ai regardé sed, awk,
tr, je ne vois pas bien comment procéder. Quelqu'un a une idée ?
NB : plus précisément, les lignes qui arrivent sur l'entrée standard
sont des dates au format '22/Sep/03'. Il n'y a donc qu'un nom de mois
par ligne, ce qui me fait trouver d'autant plus goret le chaînage de sed
ci-dessus.
--
All your DNS are belong to us:
http://homepages.tesco.net./~J.deBoynePollard/Humour/somebody-set-up-us-the-bind.html
Donc c'était un problème de user qui sait pas faire et pas d'outil inadapté. J'aurais dû m'en douter :)
-- All your DNS are belong to us: http://homepages.tesco.net./~J.deBoynePollard/Humour/somebody-set-up-us-the-bind.html
michel-merlin
Thomas Lemoine a écrit le 22/09/2003 à 18h17 :
J'ai sur l'entrée standard des lignes qui arrivent avec dedans des noms de mois abrégés en anglais (Jan, Feb, Mar...). Je voudrais les remplacer par leurs numéros.
Mon côté goret se dit qu'il pourrait faire : sed 's/Jan/01/' | sed 's/Feb/02/' | ... | sed 's/Dec/12/'
Mais mon côté moins goret se dit que c'est quand même lourd et pas beau et qu'il doit bien y avoir moyen de faire mieux. J'ai regardé sed, awk, tr, je ne vois pas bien comment procéder. Quelqu'un a une idée ?
NB : plus précisément, les lignes qui arrivent sur l'entrée standard sont des dates au format '22/Sep/03'. Il n'y a donc qu'un nom de mois par ligne, ce qui me fait trouver d'autant plus goret le chaînage de sed ci-dessus.
-- All your DNS are belong to us: http://homepages.tesco.net./~J.deBoynePollard/Humour/somebody-set-up-us-the-bind.html
La RFC2822 impose de désigner les mois par leurs NOMS ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ Je pense qu'il vaudrait mieux conserver les abréviations que vous recevez, qui sont maintenant le standard international (abréviations d'origine anglaise, en 3 lettres capitalisées, "Jan Feb ... Dec"), bien connu de tous les hommes de la terre, et ne risquant pas d'erreur à la lecture.
C'est ce qui est fait depuis les débuts du net dans les headers de 99% des messages email de la terre, comme vous pouvez le vérifier dans vos messages entrants, en ouvrant leur source ("Ctrl+F3" dans Outlook Express).
Les emails appliquent ainsi la RFC2822 §3.3 http://tools.ietf.org/html/rfc2822#section-3.3 "Date and Time Specification", qui IMPOSE de désigner les mois par leurs noms abrégés standard (anglais 3 lettres capitalisées), excluant ainsi les numéros, les noms entiers (incitant à des troncatures) ou en autres langues (compris par trop peu de gens).
Détails dans http://www.sitepoint.com/forums/showthread.php?tE0107#post3243632 "PST and PDT; TZ and TOG; UTC and GMT; Internet Date & Time; PHP date" (Tue 16 Jan 2007 14:04:05 GMT).
La désignation des mois par leurs numéros est une des causes principales d'erreurs de lecture sur le web, par exemple "01/02/03" sera lu comme "1 Feb 2003" par un Européen, "2 Jan 2003" par un Américain ou Japonais, "3 Feb 2001" par un Néo-zélandais.
L'emploi d'autres langues obligerait chaque personne à connaître les mois dans ~150 langues ; voir par exemple http://support.mozilla.com/tiki-view_forum_thread.php?forumId=1&comments_parentId 5050#threadId216231 "Standard display of Date & Time please" où la date affichée était "12 Kas 2008 Wed". Aujourd'hui elle est "mer. 12 de nov., 2008" pour moi, et probablement l'homologue pour les autres lecteurs, mais en restant variable elle empêche dans les threads longs et à audience internationale de mentionner un post par sa date. Tout ces problèmes seraient balayés si Mozilla appliquait ses propres déclarations (se conformer aux standards, ici la RFC2822).
Versailles, Sun 18 Jan 2009 17:06:30 +0100
Thomas Lemoine a écrit le 22/09/2003 à 18h17 :
J'ai sur l'entrée standard des lignes qui arrivent avec dedans des noms
de mois abrégés en anglais (Jan, Feb, Mar...). Je voudrais les
remplacer
par leurs numéros.
Mon côté goret se dit qu'il pourrait faire :
sed 's/Jan/01/' | sed 's/Feb/02/' | ... | sed 's/Dec/12/'
Mais mon côté moins goret se dit que c'est quand même lourd
et pas beau
et qu'il doit bien y avoir moyen de faire mieux. J'ai regardé sed, awk,
tr, je ne vois pas bien comment procéder. Quelqu'un a une idée ?
NB : plus précisément, les lignes qui arrivent sur
l'entrée standard
sont des dates au format '22/Sep/03'. Il n'y a donc qu'un nom de mois
par ligne, ce qui me fait trouver d'autant plus goret le chaînage de sed
ci-dessus.
--
All your DNS are belong to us:
http://homepages.tesco.net./~J.deBoynePollard/Humour/somebody-set-up-us-the-bind.html
La RFC2822 impose de désigner les mois par leurs NOMS
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Je pense qu'il vaudrait mieux conserver les abréviations que vous recevez, qui sont maintenant le standard international (abréviations d'origine anglaise, en 3 lettres capitalisées, "Jan Feb ... Dec"), bien connu de tous les hommes de la terre, et ne risquant pas d'erreur à la lecture.
C'est ce qui est fait depuis les débuts du net dans les headers de 99% des messages email de la terre, comme vous pouvez le vérifier dans vos messages entrants, en ouvrant leur source ("Ctrl+F3" dans Outlook Express).
Les emails appliquent ainsi la RFC2822 §3.3 http://tools.ietf.org/html/rfc2822#section-3.3 "Date and Time Specification", qui IMPOSE de désigner les mois par leurs noms abrégés standard (anglais 3 lettres capitalisées), excluant ainsi les numéros, les noms entiers (incitant à des troncatures) ou en autres langues (compris par trop peu de gens).
Détails dans http://www.sitepoint.com/forums/showthread.php?t=450107#post3243632 "PST and PDT; TZ and TOG; UTC and GMT; Internet Date & Time; PHP date" (Tue 16 Jan 2007 14:04:05 GMT).
La désignation des mois par leurs numéros est une des causes principales d'erreurs de lecture sur le web, par exemple "01/02/03" sera lu comme "1 Feb 2003" par un Européen, "2 Jan 2003" par un Américain ou Japonais, "3 Feb 2001" par un Néo-zélandais.
L'emploi d'autres langues obligerait chaque personne à connaître les mois dans ~150 langues ; voir par exemple http://support.mozilla.com/tiki-view_forum_thread.php?forumId=1&comments_parentId=205050#threadId216231 "Standard display of Date & Time please" où la date affichée était "12 Kas 2008 Wed". Aujourd'hui elle est "mer. 12 de nov., 2008" pour moi, et probablement l'homologue pour les autres lecteurs, mais en restant variable elle empêche dans les threads longs et à audience internationale de mentionner un post par sa date. Tout ces problèmes seraient balayés si Mozilla appliquait ses propres déclarations (se conformer aux standards, ici la RFC2822).
J'ai sur l'entrée standard des lignes qui arrivent avec dedans des noms de mois abrégés en anglais (Jan, Feb, Mar...). Je voudrais les remplacer par leurs numéros.
Mon côté goret se dit qu'il pourrait faire : sed 's/Jan/01/' | sed 's/Feb/02/' | ... | sed 's/Dec/12/'
Mais mon côté moins goret se dit que c'est quand même lourd et pas beau et qu'il doit bien y avoir moyen de faire mieux. J'ai regardé sed, awk, tr, je ne vois pas bien comment procéder. Quelqu'un a une idée ?
NB : plus précisément, les lignes qui arrivent sur l'entrée standard sont des dates au format '22/Sep/03'. Il n'y a donc qu'un nom de mois par ligne, ce qui me fait trouver d'autant plus goret le chaînage de sed ci-dessus.
-- All your DNS are belong to us: http://homepages.tesco.net./~J.deBoynePollard/Humour/somebody-set-up-us-the-bind.html
La RFC2822 impose de désigner les mois par leurs NOMS ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ Je pense qu'il vaudrait mieux conserver les abréviations que vous recevez, qui sont maintenant le standard international (abréviations d'origine anglaise, en 3 lettres capitalisées, "Jan Feb ... Dec"), bien connu de tous les hommes de la terre, et ne risquant pas d'erreur à la lecture.
C'est ce qui est fait depuis les débuts du net dans les headers de 99% des messages email de la terre, comme vous pouvez le vérifier dans vos messages entrants, en ouvrant leur source ("Ctrl+F3" dans Outlook Express).
Les emails appliquent ainsi la RFC2822 §3.3 http://tools.ietf.org/html/rfc2822#section-3.3 "Date and Time Specification", qui IMPOSE de désigner les mois par leurs noms abrégés standard (anglais 3 lettres capitalisées), excluant ainsi les numéros, les noms entiers (incitant à des troncatures) ou en autres langues (compris par trop peu de gens).
Détails dans http://www.sitepoint.com/forums/showthread.php?tE0107#post3243632 "PST and PDT; TZ and TOG; UTC and GMT; Internet Date & Time; PHP date" (Tue 16 Jan 2007 14:04:05 GMT).
La désignation des mois par leurs numéros est une des causes principales d'erreurs de lecture sur le web, par exemple "01/02/03" sera lu comme "1 Feb 2003" par un Européen, "2 Jan 2003" par un Américain ou Japonais, "3 Feb 2001" par un Néo-zélandais.
L'emploi d'autres langues obligerait chaque personne à connaître les mois dans ~150 langues ; voir par exemple http://support.mozilla.com/tiki-view_forum_thread.php?forumId=1&comments_parentId 5050#threadId216231 "Standard display of Date & Time please" où la date affichée était "12 Kas 2008 Wed". Aujourd'hui elle est "mer. 12 de nov., 2008" pour moi, et probablement l'homologue pour les autres lecteurs, mais en restant variable elle empêche dans les threads longs et à audience internationale de mentionner un post par sa date. Tout ces problèmes seraient balayés si Mozilla appliquait ses propres déclarations (se conformer aux standards, ici la RFC2822).