2016-09-15 4 views
0

Ich habe eine CSV-Datei mit Fehler in einem Feld, die Felder werden durch "," getrennt, aber der Fehler ist im Dezimalfeld, zum Beispiel 34.25," ich brauche ersetzen durch 34.25",".Wie ersetzt man Dezimal in Linux

Suche ," und ersetzen durch "," ist keine Option, andere Felder werden geändert.

Antwort

2

Überprüfen Sie, ob das Zeichen vor ," kein doppeltes Anführungszeichen ist, und wenn es das doppelte Anführungszeichen nicht, fügen Sie ist:

sed 's/\([^"]\),"/\1","/' 
0

Wenn, wie ich, Sie schätzen eine visuelle Bestätigung (in einem Editor) vor dem Austausch, Sie können dies in Vim versuchen -

:%s/,"/","/gc 

PS: Lassen Sie die ‚c‘ am Ende, wenn Sie nicht vim Sie nicht möchten, zu veranlassen, die Substitutionen zu bestätigen.