次のように、「、」で区切られた「key」:「value」ペアを連結した文字列があります。
KEY1:VALUE1, KEY2:VALUE2, KEY3:VALUE3
その文字列から特定の文字列(KEY2など)をgrepする必要があるため、コマンドの出力はVALUE2にする必要があります。
ベストアンサー1
PCREをサポートする実装を使用してくださいgrep
。
grep -Po '(^|[ ,])KEY1:\K[^,]*'
または:egrep
cut
grep -Eo '(^|[ ,])KEY2:[^,]*' | cut -d: -f2-
どちらの方法でも値にカンマを含めることはできません。
json
たとえば、適切なものがある場合
{ "KEY1":"VALUE1", "KEY2":"VALUE2", "KEY3":"VALUE3" }
あなたが使用できるjq
:
$ jq .KEY2
"VALUE2"
$ jq -r .KEY2
VALUE2