パイプで区切られたキーと値のペアから値を取得する

パイプで区切られたキーと値のペアから値を取得する

次の文字列があります

Delete :xna.del|mode:Full|Execution: loaded

3つのパラメータに出力を保存する必要があります。例えば

a=xna.del
b=Full
c=loaded

ベストアンサー1

zsh代わりに、を使用してbash結果を連想配列に保存します。

$ string='Delete :xna.del|mode:Full|Execution: loaded'
$ IFS=':|'
$ set -o extendedglob
$ typeset -A field=( ${=string//[[:space:]]#:[[:space:]]#/:} )
$ typeset -p field
typeset -A field=( [Delete]=xna.del [Execution]=loaded [mode]=Full )
$ print -r -- $field[mode]
Full

おすすめ記事