Hallo Debianer,
ich moechte aus einer Datei mit einer Tabelle die erste
Spalte ausdrucken.
Ich habe auf der kommandozeile getestet:
1. awk '{print $1 }' datei.txt Ergebnis: Wunderbar, so wie gewuenscht
2. A=$(awk '{print $1}' datei.txt
echo $A Ergebnis: Bei der Ausgabe sind die Daten ohne
jeglichen Zeilenvorschub, alles in einer Reihe.
Was ist da los?
Gruss aus dem Schwarzen Wald,
Mato
bash_zeilenvorschub
Re: bash_zeilenvorschub
echo "$A".mato hat geschrieben:echo $A
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: bash_zeilenvorschub
Hallo Cae,
gute Idee, das wars.
Kannst Du mir noch in wenigen Worten erklaeren warum.
Mein schlaues Shell-Script Buch meint:
echo $VAR = Variablen auslesen
echo "$VAR" = Variablen-Interpolation
Variablen-Interpolation = Variablennamen werden durch ihre Werte ersetzt
Mir ist der Unterschied nicht so ganz klar.
Gruss aus dem schwarzen Wald,
Mato
gute Idee, das wars.
Kannst Du mir noch in wenigen Worten erklaeren warum.
Mein schlaues Shell-Script Buch meint:
echo $VAR = Variablen auslesen
echo "$VAR" = Variablen-Interpolation
Variablen-Interpolation = Variablennamen werden durch ihre Werte ersetzt
Mir ist der Unterschied nicht so ganz klar.
Gruss aus dem schwarzen Wald,
Mato
Re: bash_zeilenvorschub
So schlau scheint dein Buch nicht zu sein.mato hat geschrieben: Mein schlaues Shell-Script Buch meint:
echo $VAR = Variablen auslesen
echo "$VAR" = Variablen-Interpolation
Der Punkt ist, dass die Shell Whitespace als Worttrenner interpraetiert. Aus ``echo $VAR'' wird ``echo foo\n''. Danach teilt die Shell die Kommandozeile in Worte auf (tokenizing). Sie findet zwei Worte ``echo'' und ``foo'', den Whitespace am Ende der Zeile ignoriert sie. Wenn in deiner Variable ``a b'' drin steht, dann wuerde sie drei Worte finden ``echo'', ``a'', ``b''. Wenn du Anfuehrungszeichen setzst, dann ist der Whitespace innerhalb der Anfuehrungszeichen fuer die Shell unsichtbar und sie wuerde im ersten Fall die zwei Worte ``echo'' und ``foo\n'' finden und im zweiten Fall die zwei Worte ``echo'' und ``a b''. Siehe hierzu auch folgendes Beispiel:
Code: Alles auswählen
$ a='a b'
$ echo $a
a b
$ echo "$a"
a b
$ printf '%s\n' $a
a
b
$ printf '%s\n' "$a"
a b
Use ed once in a while!
- Natureshadow
- Beiträge: 2157
- Registriert: 11.08.2007 22:45:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Radevormwald
-
Kontaktdaten:
Re: AW: bash_zeilenvorschub
man cut
Linux Professional Institute Certification Level 2
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
Re: bash_zeilenvorschub
Hallo Meillo,
und war bisher eigentlich ganz zufrieden.
Gruss aus dem Schwarzen Wald,
Mato
btw: Eine weitere Antwort meinerseits kann dauern, ich muss wieder auf Reise
Ich habe von Patrick Ditchen die "Shell-Script Programmierung"So schlau scheint dein Buch nicht zu sein.
und war bisher eigentlich ganz zufrieden.
Ich werde es mir auf jeden Fall anschauen.btw: Ein gutes Buch zu dem Thema waere das von Helmut Herold zu Unix-Shells.
Gruss aus dem Schwarzen Wald,
Mato
btw: Eine weitere Antwort meinerseits kann dauern, ich muss wieder auf Reise
Re: bash_zeilenvorschub
Ich kenne dieses Buch nicht, aber wenn da sowasmato hat geschrieben:Ich habe von Patrick Ditchen die "Shell-Script Programmierung"So schlau scheint dein Buch nicht zu sein.
und war bisher eigentlich ganz zufrieden.
so drin steht dann muss ich doch stark an der Qualitaet zweifeln. Mit der Variablen-Interpolation haben die Anfuehrungszeichen naemlich nichts zu tun. In beiden Faellen wird VAR interpoliert, die Anfuehrungszeichen beeinflussen das Tokenizing.echo $VAR = Variablen auslesen
echo "$VAR" = Variablen-Interpolation
Herold beschreibt wie die Shell funktioniert, nicht wie man damit programmiert, das sollte dir bewusst sein. Es koennte nicht das sein was du dir davon erhoffst.Ich werde es mir auf jeden Fall anschauen.btw: Ein gutes Buch zu dem Thema waere das von Helmut Herold zu Unix-Shells.
Use ed once in a while!