這就是我需要做的。AWK打印不正確
我有一個文本文件,並使用awk解析它。輸出應該是json格式。它應該是這樣的:
{
"Record X" : { "Key1":"Value1", "Key2":"Value2"},
"Record Y" : { "Key1":"Value1", "Key2":"Value2"},
"Record Z" : { "Key1":"Value1", "Key2":"Value2"},
"Record A" : { "Key1":"Value1", "Key2":"Value2"}
}
現在,這是文本文件的內容的樣子:
Record X
Key1 is Value1, Key2 is Value2
Record Y
Key1 is Value1, Key2 is Value2
Record Z
Key1 is Value1, Key2 is Value2
Record A
Key1 is Value1, Key2 is Value2
我試圖創建一個腳本來製作我想要的輸出,我在第一部分,但我已經卡在打印線。這是我的腳本:
awk
'BEGIN { print "{" }
{ if($0 ~ /^Record /){print "\"" $0 "\":" }}
END { print "}" }' myRecord.txt
和輸出是這樣的..
{
":ecord X
":ecord Y
":ecord Z
":ecord A
}
我不明白爲什麼樣的腳本會產生類似的東西。 請告訴我什麼是錯的。謝謝!
而不是'printf'%s \「%s \」:{\「%s \ 「}」,(C++?「,\ n」:「」),id,$ 0'您可以使用'printf(C++?「,\ n」:「」)「\」%s \「:{\ %s \「}」,id,$ 0'。這有什麼優點或缺點嗎? – Jotne
是的,你是對的!問題在於控件M或其他因爲文本文件是在Windows中創建的。大多數人認爲問題出在代碼中,多虧了你! :) – user3714598
@Jotne大多數情況下,我只是覺得使用字符串連接來創建格式字符串混淆了代碼。 –