Abh*_*and 6 command-line bash text-processing
我有一个 HTML 文件momcpy.html,我想从中提取给定字符串后的特定字符串。文件内容如下:
<tr><br>
<th height="12" bgcolor="#808080"><label for="<br>
LSCRM:Abhijeet<br>
<br>
MCRM:Bhargav<br>
<br>
TLGAPI:GAURAVAURAV<br>
<br>
MOM:MANIKA"></td><br>
Run Code Online (Sandbox Code Playgroud)
这存在于其中一行 HTML 中。
我想提取Manika并存储在一个变量中。所以基本上我想提取MOM:之后出现的任何字符串,它可能是动态的。
我试过了:
file='/home/websphe/tomcat/webapps/MOM/web/momcpy.html'
y=$( awk '$1=="MOM:"{print $2}' $file)
echo "$y"
Run Code Online (Sandbox Code Playgroud)
但这没有用。
我不能理智地劝这样做,因为解析HTML与正则表达式是不可能有好下场的,但你也许能够得到字符串MANIKA用
sed -nr '/MOM:/ s/.*MOM:([^"]+).*/\1/p' file
Run Code Online (Sandbox Code Playgroud)
无论如何,它可以在您的样本上正常工作...
-n 在我们要求之前不要打印任何东西-r 使用ERE/string/ 找到行 strings/old/new/替换old为new.* 任意数量的任意字符([^"]+) 保存一些不是的字符 "\1 对已保存字符的反向引用p 只打印我们改变的行小智 5
grep -Po 'MOM:\K[^"]+' file.html
Run Code Online (Sandbox Code Playgroud)
警告:这不是一个非常健壮的解决方案;并且您的 HTML 无效
| 归档时间: |
|
| 查看次数: |
40001 次 |
| 最近记录: |