に複数行区切りのサブ文字列を読む私は、次のコードからbashのアレイ
Speed: 10500 Mbps
Size: 122400 MB
Load: 4544 Kg
Distance: 232680 miles
Acceleration: 11200 meters/s2
Deviation: 1100 Wierdos
を含む配列を作成したい:
read -r -d '' TEST_STRING << EOM
Speed: 10500 Mbps; Size: 122400 MB
Load: 4544 Kg; Distance: 232680 miles
Acceleration: 11200 meters/s2; Deviation: 1100 Wierdos
EOM
STRINGS_ARRAY=()
RE_INTRALINEDELIMITER=";"
while IFS=$'\n' read -a LINE; do
if [[ $LINE =~ $RE_INTRALINEDELIMITER ]]; then
echo "(intraline): $LINE"
while IFS=$';' read -a SUBSTR; do
echo "(substr): $SUBSTR"
done <<< "$LINE"
fi
done <<< "$TEST_STRING"
(エコーがデバッグ用として追加されます空の演算子)。その後、いくつかの関数で行を処理し、最後に元の文字列に戻します。
しかし、SUBSTR
については、(セミコロンの前に)すべての文字列から最初のサブ文字列を取得します。私は間違っているの?
私の答えはあなたのために働いたのですか?私はあなたの問題を解決すべき編集を作った – Inian
私はあなたの下の答えをチェックしました(Nahuel Fouilleul)。私はあなたの答えをチェックしている間、あなたは見て、それが良いかどうか見ることができますか? – maaboo
申し訳ありません。私は、私の答えではないというフィードバックを提供することはできません。しかし、私はあなたの試みとしてより効率的なアプローチをお勧めし、私の答えは試みた – Inian