[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mit 'sed' CR oder LF entfernen ?



Moin.

ich versuche gerade, an bestimmten positionen im Text CR's,
LF's oder <TAB> zu entfernen was irgendwie scheitert...

Ich dachte \n oder \r oder \t würden genügen, was aber ein
Fehlschluß war.

Kann mir hier jemand weiterhelfen ?

ich hatte neulich ein ähnliches Problem, habe dazu auch eine
Lösung gefunden, aber nicht ganz verstanden:

Ich wollte einen String mit sed an einem <TAB> splitten und
hatte ewig lange getestet, bis ich es endlich hinbekommen
habe. Die Lösung später...

Laut manpage sollte ja das eigentlich funktionieren, ich
habe aber getestet ohne Ende und es wollte einfach nicht:

	cat before | sed 's/\(.*\)\t\(.*\)\t\(.*\)/\\1/g' > after_part1

Ich hatte das in alle Variationen getestet, also einfaches
Escapen (\), doppelt (\\), auch vierfach (\\\\) oder gar
keins. Immer das gleiche Problem, er hielt \t in der Regel
für 't'. Ich habe alles mit -e probiert und ohne, mit ",
' und ohne getestet. Immer ohne Erfolg. Da ging einiges an
Zeit drauf.

Dann habe ich irgendwo das hier gesehen:

	cat before | sed $'s/\(.*\)\t\(.*\)\t\(.*\)/\\1/g' > after_part1

Et voilà, es lief. Das entscheidende ist das $-Zeichen vor
dem Pattern. Ich habe keine richtige Erklärung hierfur,
aber es lief. Kann mir vielleicht jemand verraten was das
an dieser Stelle bewirkt?


Grüße
Mathias



Reply to: