Bash Script Reguläre Ausdrücke ... Wie finde ich alle Übereinstimmungen?

8

Ich schreibe ein Bash-Skript, das eine Datei Zeile für Zeile liest.

Die Datei ist eine CSV-Datei, die viele Daten im Format TT / MM / JJJJ enthält, aber ich möchte sie in JJJJ-MM-TT ändern.

Ich würde die Daten mit einem regulären Ausdruck abgleichen und sie so ersetzen, dass alle Daten in der Datei korrekt als YYYY-MM-DD formatiert sind.

Ich glaube, dass dieser reguläre Ausdruck den Daten entsprechen würde:

%Vor%

Aber ich weiß nicht, wie man Regex-Übereinstimmungen findet und sie durch das neue Format ersetzt, oder ob das sogar in einem Bash-Skript möglich ist. Bitte helfen Sie!

    
Josh 14.04.2011, 03:05
quelle

3 Antworten

21

Versuchen Sie dies mit sed:

%Vor%

PS: Auf dem Mac verwende sed -E anstelle von sed -r

    
anubhava 14.04.2011 03:24
quelle
16

Pure Bash.

%Vor%

Die Eingabedatei

%Vor%

gibt die folgende Ausgabe aus:

%Vor%     
Fritz G. Mehner 14.04.2011 06:59
quelle
2

Sie können es mit sed

machen %Vor%     
sverre 14.04.2011 03:13
quelle

Tags und Links