Bash Script, gibt Output in einer Zeile, statt Zeilenumbrüche?

3 Antworten

Setze das Argument in Anführungszeichen:

echo "$output"

Ohne Anführungszeichen bildet jedes Wort in $output ein eigenes Argument für echo, und diese Argumente werden einzeln (mit Leerzeichen getrennt) ausgegeben.

versuche es mal so ähnlich

echo -e "Das \n ist \n ein \n Test"

Die "\n" Zeilenumbrüche kenne ich, aber wie soll ich das in mein AWK Output einbauen?

0
@Trmbl

Ich kenne mich mit awk zu wenig aus, ich programmiere mir i.d.R. alles mit C oder mit C++.

0
@HarryXXX

Ich habe schon eine Alternative Methode gefunden, tdm danke

output="$(awk "/START/{ f = 1; next } /END/{ f = 0 } f" datei)"
printf "%s" "$output" > testdatei
0

Ein echo enthält soweit ich weiß nur eine Zeile ohne Umbrüche.

Dann müsstest du immer dort wo du den Umbruch willst, einen einbauen. Dazu müsstest du vorher die Umbrüche herausfiltern.

Das "echo" ist eigentlich mehr deklarativ gedacht gewesen. Im Grunde will ich das Output vom AWK in eine Variable haben und dann in eine Datei schreiben.

0