String zerlegen

07/07/2008 - 15:08 von Bert Klein | Report spam
Hallo

Ich möchte mich im Scripten einarbeiten und bin auf ein Problem
(zumindest für mich) gestossen.
Das Ergebnis aus einem Form-Dialog ist ein String, den ich gerne
zerlegen möchte:
#!/bin/bash
### Form Sample ###
function formbox ()
{
dialog --form " Use [up] [down] to select input field " 12 50 4 \
"Vorname" 1 2 "" 1 15 25 0\
"Zuname" 2 2 "" 2 15 25 0\
"Stadt" 3 2 "" 3 15 25 0\
"Land" 4 2 "Deutschland" 4 15 "-25" 0\
2> ~/tmp.$$
if [ ${?} -ne 0 ]; then return; fi
result=$(cat ~/tmp.$$)
rm ~/tmp.$$
clear
echo "-"
echo "Result="$result
echo "-"
echo "Ergebnis=$result"
echo "-"
}
formbox
exit

Das Ergebnis hieraus:
-
Result=Bert Klein Aachen Deutschland
-
Ergebnis=Bert
Klein
Aachen
Deutschland
-

Ich möchte zB Bert wieder dem Zunamen zuführen, Aachen der Stadt usw..

Kann mir vielleicht jemand einen Tip geben wie ich das ausführen kann.
Vielen Dank Im Voraus.

Mit freundlichen Grüßen
Bert
 

Lesen sie die antworten

#1 Bert Klein
07/07/2008 - 15:57 | Warnen spam
Bert Klein schrieb:

Das Ergebnis aus einem Form-Dialog ist ein String, den ich gerne
zerlegen möchte:



Ich habe eine Lösung gefunden, in die ich mich aber noch einarbeiten muss!
vorname=`echo $result | awk -v FS=" " '{print $1}'`
nachname=`echo $result | awk -v FS=" " '{print $2}'`.usw.

echo -e "Vorname lautet: $vorname"
echo -e "Nachname lautet: $nachname"..usw.


Gibt es eine einfachere Lösung?

Mit freundlichen Grüßen
Bert

Ähnliche fragen