PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sed newline



klaus_harrer
18-11-2003, 17:04
Hallo

Gibt es eine Möglichkeit mittels sed \n entfernen. Etwa so


sed 's/\n//g' testdatei

MfG
Klaus

peschmae
18-11-2003, 18:46
hab mich gerade gefragt wieso das nicht geht :D

RTFM war die Antwort:


Each line of input, not including its terminating newline character, is successively copied into a pattern space (a temporary buffer).


von da http://www.linuxcentral.com/linux/man-pages/sed.1.html

Das kann ja nicht funktionieren :cool:
Sieht fast so aus, als müsstest du Perl nehmen (einfach die Datei oder was auch immer in ein Array einlesen und dann in ner For-Schleife alles mit "print" ausgeben - dort müsstest du die \n separat angeben, wenn du sie möchtest)

MfG Peschmä

RapidMax
18-11-2003, 18:56
Mit tr hättest du die Möglichkeit dazu:

echo -ne "test1\ntest2\ntest3\n" | tr -d "\n"
Und wenn du statt "\n" Leerzeichen willst:

echo -ne "test1\ntest2\ntest3\n" | tr "\n" " "

Gruss, Andy

Badsteve
18-11-2003, 20:46
Sieht fast so aus, als müsstest du Perl nehmen (einfach die Datei oder was auch immer in ein Array einlesen und dann in ner For-Schleife alles mit "print" ausgeben - dort müsstest du die \n separat angeben, wenn du sie möchtest)

Naja, geht auch ohne array:



perl -pi~ -ne 's/\n//' datei


ändert die Datei und macht ein Backup mit ~ hintendran.

Steve

klaus_harrer
18-11-2003, 22:10
Hallo

Ich habe lange im Netz gesucht, und für mich der sich erst vor ein paar Stunden sich mit sed und mit Reguläre Ausdrücke beschäftigt hat wie böhmische Dörfer.




sed -n -e 'H;${x;s/\n/ /g;p;}' testdatei



MfG
Klaus