最近我一直在编写一些简单的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
中可能不起作用。
sed
命令来解决这个问题?只需要一次选择所有这些字符串。 - UncleSam