2012-02-11 24 views
1

私はそれを特定のフレーズを取得したい、問題は、(私はカールを使用して表示されている)全体の1行だけで構成されます。 このファイルから抽出する語句は、常に{"name":"headline","link": で始まり、常に}}で終わります。グレープ特定の文字/単語から特定の文字/単語を特定の文字/単語に読み取る

grepには、{"name":"headline","link":で始まるすべての句が次の}}で終わるまで表示する必要がありますか?

ところで
curl http://example.org/file.txt | grep ? 

:それはちょうど1つのライナーだから

curl http://example.org/file.txt | grep "\{\"name\"\:\"headline\"\,\"link\"\:\"http\:\/\/" 

は全体のテキストファイルを表示します。

+0

の完全なリストを提供します

grep -o -E '"name":"Rausschmeisser","link":"[^"]+"' 

を行います。 JSONをここまたはペーストビンにダンプしてから、どんなタイプの出力をしたいのですか? –

答えて

1

これは、これはあなたにJSON文字列のthatsのURL

egrep -o '"name":"Rausschmeisser","link":"[^"]+' | cut -f8- -d\" 
1

-oオプションを使用してください。また

、あなたが{"name":"headline","link":}}の間で唯一のものをしたい場合は、セッドを使用しています。

sed -r 's/{"name":"headline","link":([^}]*)}}/\1/g' 

実際には、適切なJSONパーサーを取得してください。

関連する問題