簡體   English   中英

如何為這種情況編寫Grep命令?

[英]How to write Grep command for this case?

我不是Grep家伙,並在這里提出問題以獲取grep命令來快速解決此問題。

給出像這樣的html文本,

<tr><td class="font_face" style="font-family:HelveticaNeue">HelveticaNeue</td><td class="iphone">3.0</td><td class="ipad">4.3</td></tr>
<tr><td class="font_face" style="font-family:HelveticaNeue-Bold">HelveticaNeue-Bold</td><td class="iphone">3.0</td><td class="ipad">4.3</td></tr>
<tr><td class="font_face" style="font-family:HelveticaNeue-BoldItalic">HelveticaNeue-BoldItalic</td><td class="iphone">3.0</td><td class="ipad">4.3</td></tr>

需要grep推薦得到這樣的輸出

HelveticaNeue 
HelveticaNeue-Bold 
HelveticaNeue-BoldItalic

非常感謝 !

如果你真的想使用grep ,你可以說:

grep -Po '(?<=font-family:).*?(?=")' filename

為了您的輸入,它會返回:

HelveticaNeue
HelveticaNeue-Bold
HelveticaNeue-BoldItalic

編輯:正如肯特 所說 ,你也可以說:

grep -Po '(?<=font-family:)[^"]*' filename

這個awk應該這樣做:

awk '{gsub(/<[^>]*>/,FS);print $1}' file
HelveticaNeue
HelveticaNeue-Bold
HelveticaNeue-BoldItalic

這個awk刪除了<>之間的所有內容
它給出了HelveticaNeue 3.0 4.3 ,然后打印字段#1

你也可以使用perl:

perl -lne 'print $1 if(/font-family:([^\"]*)\"/)' your_file

假設您的數據包含在Test.html文件中

然后你可以使用以下命令:

 cat Test.html | awk  -F  '">' '{print $2}' | awk -F "</" '{print $1}'

輸出:

HelveticaNeue
HelveticaNeue-Bold
HelveticaNeue-BoldItalic

暫無
暫無

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

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