On Sun, 15 Jul 2001 at 12:09 (+0200), Heinz W. Pahlke wrote:
On 15-Jul-2001 Bernhard Walle wrote:
On Sun, 15 Jul 2001 at 01:08 (+0200), Heinz W. Pahlke wrote:
will. Nur wie schaffe ich es, Zeilenenden zu loeschen?
Gegeben ist ein Text wie:
"Dieser kurze Satz ist ein ziemlich blo edsinniger Satz."
Mit "sed s/$//g" (und verschiedenen Varianten) habe ich es jedenfalls nicht geschafft.
Vermutlich ist es ja wieder sehr einfach, wenn man es weiss ;-)
Also ich habe mal gelesen, dass sed zeilenorientiert arbeitet und dies nicht möglich sei. Mit Perl geht's aber
perl -pe 's/\n//g' test.txt
Dummerweise habe ich mich mit Perl noch nie beschaeftigt.
Ansonsten gilt fuer den Ansatz das gleiche wie fuer den Vorschlag von Jan, dass damit auch die Absaetze verschwinden :-(
Was willst Du überhaupt machen? Vielleicht solltest Du Dich mit "fmt" beschäftigen. man fmt. Probier doch mal folgendes: perl -pne 's/\n//g unless /^$/' test.txt Damit werden Leerzeilen von der Ersetzungsaktion ausgenommen und verschwinden nicht. Evtl. willst Du auch das haben: perl -pne 'if (/^$/) { s/\n/\n\n/; } else { s/\n//; }' text.txt Letztere Zeile wäre übrigens äquivaltent zu folgendem Skript: #!/usr/bin/perl while (<>) { if (/^$/) { s/\n/\n\n/; } else { s/\n//; } } Das ist dann leichter lesbar. Der Parameter 'n' beim Aufruf legt die Schleife schon an. Das Skript / der Aufruf funktioniert auch über eine Pipe (das ist das besondere an <>). Vielleicht ist Perl nicht die beste = kompakteste Lösung für sowas, aber mit awk kenne ich mich nicht so aus und mit sed auch nicht besonders ;-) Gruß, Bernhard -- "And when I don't know of a bug, it doesn't exist." [Linus Torvalds]