web-dev-qa-db-ja.com

シェルスクリプトでスペースの前後の文字列を分割する方法

私はこのようにエコーで示す変数を持っています

$ echo $var
129 148

出力として必要なのは129だけです。 129と148をどのように分割しますか?

23
surbhi

jasonwryanの提案 に加えて、cutを使用できます。

echo $var | cut -d' ' -f1

上記のcutsは、echoの出力にスペース区切り文字(-d ' ')と最初のフィールド(-f1

41
Joseph R.

これを行うための適切な方法は、bash配列を使用して文字列をスペースに分割することです。大括弧を使用するだけで、配列を宣言できます。

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