出力は次のとおりです。
3,aac-lc, 93.8, aaclc, 77.3, h.264, 1024.6, h.264, 1029.1, 31, 31, 0,0,0.000000,31,31,0,0,0.000000,7,0,0,0.000000,30,1280 720,10,0,0,0.000000,30,1280 720
私は2つのシナリオを試しました。
配列に保存
@arr=split(',',$stats); echo "statistics: $stats"
変数に保存
echo $stats | cut -d ',' -f | read s1 echo $s1
しかし、どちらの場合も機能しません。
ベストアンサー1
1行入力の場合は、次のように使用できます。
IFS="," read -ra arr <<< "$foo"
デモ:
$ cat t.sh
foo="3,aac-lc, 93.8, aaclc, 77.3, h.264, 1024.6, ..." # snipped
IFS="," read -ra arr <<< "$foo"
echo ${#arr[@]}
echo ${arr[0]}
echo ${arr[30]}
$ ./t.sh
31
3
1280 720
クレジット取引:Bashの区切り文字に基づいて文字列を分割しますか?回答者ヨハネス・シャウプ。他の答えも確認してください。