キー:値のペアで連結された文字列内の特定のキー値を見つけます。

キー:値のペアで連結された文字列内の特定のキー値を見つけます。

次のように、「、」で区切られた「key」:「value」ペアを連結した文字列があります。

KEY1:VALUE1, KEY2:VALUE2, KEY3:VALUE3

その文字列から特定の文字列(KEY2など)をgrepする必要があるため、コマンドの出力はVALUE2にする必要があります。

ベストアンサー1

PCREをサポートする実装を使用してくださいgrep

grep -Po '(^|[ ,])KEY1:\K[^,]*'

または:egrepcut

grep -Eo '(^|[ ,])KEY2:[^,]*' | cut -d: -f2-

どちらの方法でも値にカンマを含めることはできません。


jsonたとえば、適切なものがある場合

{ "KEY1":"VALUE1", "KEY2":"VALUE2", "KEY3":"VALUE3" }

あなたが使用できるjq

$ jq .KEY2
"VALUE2"
$ jq -r .KEY2
VALUE2

おすすめ記事