sed
Es wird jeweils nur eine Zeile angezeigt, sodass die Suche nach aufeinander folgenden Zeilenvorschüben nicht funktioniert. Eine Möglichkeit ist, alle Daten in den Speicherplatz zu schieben und dann zu ersetzen, wenn alle Eingaben gesammelt wurden, z.
sed -r -n ' $! { # When it is not the last line 1 { h } # Replace hold space with first line 1! { H } # Otherwise append to hold space } $ { # When last line reached H # Append it to hold space g # Replace pattern space with hold space s/\n//g # Remove all occurrences of \n p # Print pattern space } ' input.txt
Hier ist eine einfachere Option mit perl
, funktioniert aber auf dieselbe Weise:
perl -e ' $/ = undef; # Slurp mode, read whole file $_ = <>; # Read file to $_ s/\n//g; # Remove all occurrences of \n print; # Output $_ ' input.txt
Bearbeiten
Eine kürzere perl
Version von Peter O vorgeschlagen:
perl -0777 -pe 's/\n//g' input.txt
-0777
aktiviert den Slurp-Modus.-p
Ergebnis wird implizit gedruckt.