Eu tenho muitos arquivos HTML contém data com formato July 29th, 2011
Quero alterar o formato da data July 29th, 2011
para 20110729
, December 9th, 2010
para 20101209
etc.
Eu acho que sed
pode funcionar, mas ainda não consigo encontrar a solução por causa de sua sequência indireta.
text-processing
sed
Najib-botak Chin
fonte
fonte
Respostas:
Esse tipo de coisa é muito mais difícil do que deveria ser com a maioria das ferramentas.
awk
O módulo POSIX do GNU e do Perl fornece astrftime()
, mas não astrptime()
, que é o que você deseja.De qualquer forma, ainda é muito fácil com o Perl ...
Obviamente, há mais do que isso, já que você realmente deseja converter o HTML. Se você conseguir descobrir um regex com o sed que funcione para encontrar as seqüências de datas, poderá fazer algo muito semelhante ao Perl.
fonte
Date::Manip
módulo? ... Meu perl me dá um erro, "Não é possível localizar Data / Manip.pm no @INC ..." . É um módulo extra que preciso instalar de alguma forma? ... estou usando o perl, v5.10.1perl-Date-Manip
mas o seu varia. Você também pode obtê-lo usandocpan
.libdate-manip-perl
.... @Steven Pritchard: É uma boa solução ... Obrigado.July 29th, 2011
não é um formato reconhecido (July 29, 2011
funciona), e você precisa colocar um pouco de infraestrutura shell e sed / awk em torno dele.