解析并提取所有HTML标记

时间:2017-02-09 17:27:14

标签: bash unix awk sed

我需要解析并提取以$true开头并以v8::Local<v8::Uint8ClampedArray> arr; unsigned char *data = (unsigned char *)arr->Buffer()->GetContents().Data(); 结尾的所有HTML标记。

sample.csv

<a href=""

是否可以帮助我使用""><p class=""normal_(Web)"" align=""left""><span style=""font-family:Arial,Arial;font-size:10px;color:#000000"">First, </span><b><a href=""file:///C:/display/JITS/SDSSE+-+R12+User+Search""><span style=""font-family:Arial,Arial;font-size:10px;"">search</span></a></b><span style=""font-family:Arial,Arial;font-size:10px;color:#000000""> for the user.  If you don't find the account, then </span><b><a href=""file:///C:/display/JITS/SDSSE+-+Creating+Oracle+R12+Accounts""><span style=""font-family:Arial,Arial;font-size:10px;"">create</span></a></b><span style=""font-family:Arial,Arial;font-size:10px;color:#000000""> one.  Once you have an account to work with, then proceed.</span></p>命令打印/仅记录包含awksed的子字符串? 输出应该是

<a href=""

"">

2 个答案:

答案 0 :(得分:2)

你可以这样做:

sed -n 's/.*\(<a\ href=[^>]*>\).*/\1/p'

这个sed使用n标志,这会导致sed在默认情况下不打印任何内容,之后我们使用substitution命令查找指定的正则表达式并将其替换为第一个捕获组,然后{{1} } modifier用于打印此正则表达式。

在正则表达式中,我们首先查找p,然后匹配所有内容,直到<a href=

如果您的代码中还有其他>,则此功能无效。

答案 1 :(得分:0)

@Varun:试试:

awk '{gsub(/<a href=|"|>/,"");print}'   Input_file

在这里,我在全球范围内替换字符串,例如“a href”,“&gt;”并“然后打印线的值。