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
--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)