2017-11-22 21 views
1

私は、このようなファイルと呼ばれる結果を持っている:「ID:」私は後に部分文字列を置くことができますどのように- 私は、ファイルからパラメータ内の部分文字列を置くことができますどのように

のbashを使用して
{"id":10722,"type":"BRANCH","value":"refs/heads/master","branch":{"id":"refs/heads/master","displayId":"master","latestChangeset":"d53ae5dbaa5e4b2f7b007e94ee91ae2de7e600b6","isDefault":true}} 

、パラメータ内の(この例では10722)? (たとえば param = 10722)

このファイルは常時変更されているため、カウントする文字は使用したくないものです。

+2

は、JSONデータのように見える、より良い使用する 'jq' – anubhava

+0

は同意する...問題は、私はできないですjqがインストールされるという事実に依存しています。なぜなら、jqは私がそれを制御できないリモートサーバであるからです。 –

+0

試してみることもできますが、[...](https://stackoverflow.com/a/1732454/26428) –

答えて

1

これはJSONデータのようです。より良い、このようなjqを使用します

jq '.id' file.json 
10722 

jqが使用できない場合は、gnu grepを使用します。

grep -oP '"id":\K\d+' file.json 
10722 
+1

素晴らしい! \ K \ d +は何を意味しますか? –

+1

'\ K'指示文はすべての一致情報をリセットし、' \ d + 'は1つ以上の数字と一致します。 – anubhava

関連する問題