Datumsformat in .text-Dateien ändern

0

Ich habe viele Daten in vielen .txt-Dateien im Format 2016.10.27. Ich möchte in allen Daten in allen Dateien genau nur Punkte in Bindestriche ändern. Ich möchte sie mit Linux-bash-Befehlen ändern, vielleicht reicht einer aus. Um dies zu erreichen, muss ich alle diese Dateien bearbeiten und nichts anderes ändern. Ich gehe davon aus, dass das Datum von beliebigen Zeichen umgeben sein kann. Daher können die Datumsangaben nur anhand des Formats ermittelt werden. Wie kann ich das machen?

pbies
quelle

Antworten:

0

OK habe es!

sed -i -E 's/([0-9]{4})\.([0-9]{2})\.([0-9]{2})/\1-\2-\3/g' *.txt

Wenn das Datum im Format DD.MM.YYYY ist, verwende ich das Format JJJJ-MM-DD,

sed -i -E 's/([0-9]{2})\.([0-9]{2})\.([0-9]{4})/\3-\2-\1/g' *.txt
pbies
quelle
Sie können dies durch Hinzufügen etwas sicherer machen \<...\> Um das Muster an Wortgrenzen anzupassen, gefällt Folgendes: sed -i -E 's/\<([0-9]{4})\.([0-9]{2})\.([0-9]{2})\>/\1-\2-\3/g' *.txt
janos