Ich habe viele HTML-Dateien enthält Datum mit Format July 29th, 2011
Ich möchte das Datumsformat July 29th, 2011
auf 20110729
, December 9th, 2010
auf 20101209
usw. ändern .
Ich denke, es sed
könnte funktionieren, aber ich kann die Lösung aufgrund ihrer indirekten Reihenfolge immer noch nicht finden.
text-processing
sed
Najib-Botak Chin
quelle
quelle
Antworten:
So etwas ist viel schwieriger als es mit den meisten Werkzeugen sein sollte. GNU
awk
und Perls POSIX-Modul geben Ihnen beide einstrftime()
, aber keinstrptime()
, was Sie wollen.Auf jeden Fall ist es mit Perl immer noch ziemlich einfach ...
Natürlich steckt noch mehr dahinter, da Sie den HTML-Code tatsächlich konvertieren möchten. Wenn Sie mit sed einen regulären Ausdruck finden können, mit dem die Datumszeichenfolgen ermittelt werden können, sollten Sie in der Lage sein, mit Perl etwas sehr Ähnliches zu tun.
quelle
Date::Manip
Modul? ... Mein Perl gibt mir den Fehler "Datum / Manip.pm in @INC kann nicht gefunden werden ..." . Ist es ein zusätzliches Modul, das ich irgendwie installieren muss? ... Ich benutze Perl, v5.10.1perl-Date-Manip
aber Ihr Name variiert. Sie könnten es auch mit bekommencpan
.libdate-manip-perl
... @Steven Pritchard: Es ist eine schöne Lösung ... Danke.July 29th, 2011
ist jedoch kein anerkanntes Format (July 29, 2011
funktioniert), und Sie müssten einiges an Shell- und Sed / Awk-Infrastruktur darauf aufbauen.