【发布时间】:2015-04-11 08:21:02
【问题描述】:
这是一个奇怪的问题..
我有一个 html 标签之间的单词列表,每个单词由一行分隔,左侧有一些空格,如下所示:
<td>word</td>
<td>anotherWord</td>
...
我想从列表中提取单词而不是标签,所以我使用:
temp=$(printf "%s" "$temp" | egrep '[....]')
澄清一下,“temp”是要搜索的输入。 (我在 bash 脚本中执行此操作,并将输入存储在变量 temp 中)。 “...”是一个字符列表,因为我尝试提取的单词仅使用某些字符。
只要 grep 找到匹配项,它就会输出单词以及两边的 html 标签!这仅在匹配时发生,因为我通过将正则表达式参数设置为乱码进行了测试,例如“09680876” - 它在临时文件中没有匹配项,并且 grep 没有输出任何内容。
我还尝试使用我知道匹配的特定单词作为正则表达式参数,如下所示:
.... | egrep 'hanai')
我知道“hanai”在示例文本中是绝对匹配的。这导致 grep 输出
<td>hanai</td>
我完全被难住了,无法在线找到解决方案。希望有人指出我正在犯的明显错误。
【问题讨论】:
-
egrep已弃用。请改用grep -E。