2016-05-21 24 views
2

Ich erzeuge eine Wortliste durch Parsing Wikipedia mit sed auf Cygwin. Möchten Sie das Rohrsymbol | in ein Leerzeichen ändern. sed 's/\|/ /g' schlägt fehl. Es wird ein Leerzeichen zwischen jedem Zeichenpaar eingefügt.Ändern Rohr Symbol in den Weltraum mit sed

+2

verkürzen Bitte nehmen Sie sich einen Blick auf: [? Was soll ich tun, wenn jemand meine Frage beantwortet] (http://stackoverflow.com/help/someone -answers) – Cyrus

+0

'\ |' ist reserviert für OR-Anweisungen in sed-Befehlen. – SLePort

Antwort

2

Nicht entkommen | oder verwenden Sie die Option sed -r.

-1

Das funktioniert. Ich kann die Darstellung hex verwenden:

sed 's/\x7c//g' 
+0

oder. noch besser können Sie einfach tun, was in [der Antwort] (http://stackoverflow.com/a/37360214/1745001) angegeben ist. Außerdem ist es in diesem Fall nicht relevant, aber verwende niemals hexadezimale Darstellungen, benutze stattdessen oktal - google es, wenn du nicht weißt warum. –

1

Oder verwenden tr, deren alleiniger Zweck es ist zu tr anslate Zeichen:

tr '|' ' ' < filename 

Es ist noch kürzer zu geben. Wenn Sie nichts dagegen haben die Lesbarkeit zu verlieren, können Sie es zu

tr \| \ <filename