簡體   English   中英

Grep日志文件中的多個單詞

[英]Grep for multiple words in log files

我有包含以下內容的文件:

--------------------------------
service=serviceX
time=100ms
PARAMS={"data"=>"{\"id\":1,\"items\":[{\"quantity\":1,\"name\":\"itemName1\"
        ,\"quantity\":2,\"name\":\"itemName2\"}]}
------------------------------------------------
  --------------------------------
service=serviceX
time=200ms
PARAMS={"data"=>"{\"id\":2,\"items\":[{\"quantity\":2,\"name\":\"itemName3\"
        ,\"quantity\":2,\"name\":\"itemName4\"}]}
------------------------------------------------
  --------------------------------
service=serviceX
time=300ms
PARAMS={"data"=>"{\"id\":3,\"items\":[{\"quantity\":1,\"name\":\"itemName5\"
        ,\"quantity\":2,\"name\":\"itemName6\"}]}
------------------------------------------------

我正在嘗試查找文件中列出的所有項目。 我的查詢看起來像

grep -o  'name\\":\\"[^\\]*\\"' | tr -d '\\"'

輸出是

name:itemName1
name:itemName2
name:itemName3
name:itemName4
name:itemName5
name:itemName6

我想要這樣的輸出:

id:1
name:itemName1
name:itemName2
id:2
name:itemName3
name:itemName4
id:3 
name:itemName5
name:itemName6

我是linux新手,不知道如何在單個查詢中對多個單詞進行grep。

或使用替代元字符

grep -oP 'name\\":\\"[^\\]*\\|id\\":[^,]*' | tr -d '\\"'
                              ↑
          |__________________| |____________|
             look for this   or    that

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM