2015-08-26 65 views
0

數字/字母數字文本我有一個包含這些塊由逗號分隔的12K單個文本行:輸出的α/使用grep

{"hash":"AbCD1QS","title":"","description":"","width":1920,"height":1080,"size":12345689,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2009-01-04 02:32:61"} 

下一個散列也可以是全部小寫的「字母數字」文本,全部大寫,不包含數字或包含所有數字。

如何僅使用Grep輸出散列旁邊的文本,並將每個結果輸出到新行?

+0

請將您想要的輸出添加到您的問題。 – Cyrus

回答

0
grep -Po "(?<=hash\":\")[^\"]*" 

-P使用Perl的正則表達式

(?<=hash\":\")後相匹配的字符串哈希 「:」

[^\"]*任何字符匹配離了引號

0

使用JSON解析器對JSON數據:

$ json='{"hash":"AbCD1QS","title":"","description":"","width":1920,"height":1080,"size":12345689,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2009-01-04 02:32:61"}' 
$ echo "$json" | jq -r '.["hash"]' 
AbCD1QS