Bashで文字列を複数の変数に分割する [重複] 質問する

Bashで文字列を複数の変数に分割する [重複] 質問する

以下のように生成される文字列があります:

192.168.1.1,UPDOWN,Line protocol on Interface GigabitEthernet1/0/13, changed state to up

その文字列を取得して 2 つの変数を作成するにはどうすればよいでしょうか (bash を使用)?

例えば私は

$ip=192.168.1.1 
$int=GigabitEthernet1/0/13

ベストアンサー1

これを試して:

mystring="192.168.1.1,UPDOWN,Line protocol on Interface GigabitEthernet1/0/13, changed state to up"

IFS=',' read -a myarray <<< "$mystring"

echo "IP: ${myarray[0]}"
echo "STATUS: ${myarray[3]}"

このスクリプトで${myarray[0]}は、初めカンマ区切りの文字列のフィールド${myarray[1]}は、2番カンマ区切りの文字列内のフィールドなど。

おすすめ記事