我一直在研究一些简单的 bash
最近的脚本,它解析网页中的特定数据。我用过tr '\r\n' ' ' <file1.txt >file2.txt
为确保从页面中提取的所有数据都存储在 file1.txt
中在一排。那么我需要匹配 <th>...</th>
之间的所有字符串此行中的标签并删除它们或替换为 ' '
符号。
所以这是一些实验代码:
<td>Abaktal hm</td> </tr> <tr> <th>Package</th> <td>flm 10x400 mg</td> <th>Indesit</th>
我用过sed
并尝试了类似的东西
sed -i 's/\<th\>.*?\<\/th\>/ /g' output.txt
但是没有用。我认为问题出在 ?
符号。它适用于 ?
登录正则表达式,但可能不在 bash
中.
最佳答案
虽然我同意 sputnick 和其他人的观点,但您的直接问题的答案是:
sed -ir 's/<th>[^<]+<\/th>//g'
这适用于您的示例数据。
关于regex - 如何使用bash脚本删除一行中两个HTML标签之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962875/