PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sonderzeichen über echo in Variable schreiben



ferdi1
03.10.12, 05:40
Hallo

wie kann ich in der bash (oder anderswo) Sonderzeichen wie den Tabulator in eine Variable speichern?

echo -e nterpretiert den Tabulator:

$ echo -e hallo"\t"A'\t'B

hallo A B

geht auch über eine Datei

$ echo -e hallo"\t"A'\t'B >datei.txt

cat datei.txt
hallo A B


Über eine Variable entsteht ein Leerzeiche anstelle des Tabulators

a=$(echo -e hallo"\t"A'\t'B )
echo $a

hallo A B


Wie muss man dies der Variable übergeben, damit die Sonderzeichen korrekt übermittelt werden? (Variablen anders definieren, oder Hochkomms (welche) setzen ???)

drcux
03.10.12, 08:13
Sie sind in der Variable, quoten:

echo "$a"

Aqualung
03.10.12, 12:57
Noch der Hinweis über den ascii-Code Sonderzeichen darzustellen:

Mit

man ascii

den Code suchen (\t entspricht octal \011, \n z.B \012) , dann


a=$(echo -e "hallo\011A\011B")
echo "$a" | od -c

ferdi1
06.10.12, 06:12
Danke

funktioniert mit
echo "$a"
Was die Gänzefüßchen an der richtigen Stelle so alles bewirken.