2016-08-31 64 views
0

我有文字像這樣的文本文件:文本文件操作

{"id":2705,"status":"Analyze","severity":"Critical",Blah Blah ... "file":"/home/foo.c","message":"Message is...","url":"http://aaa..."} 
{"id":2706,"status":"Fix","severity":"Low",Blah Blah ... "file":"/home/foo1.h","message":"Message2 is...","url":"http://bbb..."} 

我想有bash腳本,讀取文件,併爲每個行使用所有對數據的變量(例如id = 2705,status =「分析」...)並回顯它們。

+0

你試圖解決這個問題的是什麼?發佈它並讓我們知道失敗會吸引更多的答案。 – Inian

+0

您的預期產出是多少? –

+0

尋找一種分裂成對的方法。不知道該怎麼做。 想擁有: echo「id = 2705」 echo「status = Analyze」... – OkyDokyman

回答

1
awk 'BEGIN{RS=",";FS=":";OFS="="}{$1=$1;gsub("}|{|\"","")}1' infile 
id=2705 
status=Analyze 
severity=Critical 
Blah Blah ... file=/home/foo.c 
message=Message is... 
url=http=//aaa... 
id=2706 
status=Fix 
severity=Low 
Blah Blah ... file=/home/foo1.h 
message=Message2 is... 
url=http=//bbb... 
+0

+1爲好的解決方案!不斷的嘮叨我的東西是任何'json'感知的工具會更加理想,因爲這並不能保證文件的格式被更改爲線性樣式。 – Inian

+0

我同意,應該使用理想的json感知工具。 –

+0

正是我想要的!謝謝 – OkyDokyman