J'ai beaucoup de fichiers HTML contient une date au format July 29th, 2011
Je souhaite modifier le format de date July 29th, 2011
en 20110729
, December 9th, 2010
en 20101209
, etc.
Je pense que cela sed
peut fonctionner mais ne trouve toujours pas la solution en raison de sa séquence indirecte.
text-processing
sed
Najib-botak Chin
la source
la source
Réponses:
Ce genre de chose est beaucoup plus difficile qu'il ne devrait l'être avec la plupart des outils. GNU
awk
et le module POSIX de Perl vous donnent tous les deux unstrftime()
, mais pas unstrptime()
, ce que vous voulez.En tout cas, c'est quand même assez facile avec Perl ...
Évidemment, il y a plus, car vous voulez réellement convertir le HTML. Si vous pouvez trouver une expression rationnelle avec sed qui fonctionnera pour trouver les chaînes de date, vous devriez pouvoir faire quelque chose de très similaire avec Perl.
la source
Date::Manip
module? ... Mon Perl me donne une erreur, "Impossible de localiser Date / Manip.pm dans @INC ..." . Est-ce un module supplémentaire que je dois installer d'une manière ou d'une autre? ... j'utilise perl, v5.10.1perl-Date-Manip
mais le vôtre variera. Vous pouvez également l'obtenir en utilisantcpan
.libdate-manip-perl
.... @Steven Pritchard: C'est une bonne solution ... Merci.July 29th, 2011
n'est pas un format reconnu (July 29, 2011
fonctionne), et vous auriez besoin de mettre un peu d'infrastructure shell et sed / awk autour.