it-swarm.com.de

Wie teile ich die Zeichenfolge nach und vor dem Leerzeichen im Shell-Skript?

Ich habe eine Variable, die im Echo so angezeigt wird

$ echo $var
129 148

Ich muss nur 129 als Ausgabe nehmen. Wie werde ich 129 und 148 teilen?

23
surbhi

Zusätzlich zu jasonwryans Vorschlag können Sie cut verwenden:

echo $var | cut -d' ' -f1

Das obige cut ist die echo Ausgabe mit einem Leerzeichen (-d ' ') und gibt das erste Feld aus (-f1)

41
Joseph R.

Eine gute Möglichkeit, dies zu tun, besteht darin, ein Bash-Array zu verwenden, um eine Zeichenfolge in Leerzeichen aufzuteilen. Sie können ein Array einfach in Klammern deklarieren:

var="129 148     181"
vars=( $var )
echo "First  Word of var: '${vars[0]}'"
echo "Second Word of var: '${vars[1]}'"
echo "Third  Word of var: '${vars[2]}'"
echo "Number of words in var: '${#vars[@]}'"
10
gogoud