簡體   English   中英

grep命令行,Linux

[英]grep command line, linux

我正在嘗試從下面的行代碼中的html文件“ Servernick”:“ sv012-cali”中隔離所有服務器名稱(即sv012-cali),我認為其是引號

cat smtest.html | tr '"' '\\n' | grep "^Servernick":"" | cut -d '"' -f 2

html數據文件“ Relation”:0},{“ ID”:415804”,“ Servernick”:“ sv012-cali”,“ Level”:“ 3”的摘要

您需要轉義報價。 在bash中使用\\來轉義字符:

grep "^Servernick\":\""

或者將雙引號放在單引號內:

grep '^servernick":"'

處理包含雙引號的字符串時,請使用單引號:

grep '^Servernick":"'

在OP提供示例數據后更新-

# cat test.data                                                  
"Relation":0},{"ID":415804","Servernick":"sv012-cali","Level":"3"
"Relation":0},{"ID":415804","Servernick":"sv012-balh","Level":"3"
# cat test.data | tr "," "\n" | grep Servernick | cut -d '"' -f 4
sv012-cali
sv012-balh

原始回覆-

這是您需要的嗎?

# echo \"Servernick\":\"sv012-cali\"  > test.data  
# cat test.data                                  
"Servernick":"sv012-cali"
# cat test.data  | tr '"' '\n'                                          

Servernick
:
sv012-cali

# cat test.data  | tr '"' '\n' | egrep -v "Servernick|:|^$"
sv012-cali

暫無
暫無

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

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