我试图弄清楚为什么这个命令对我不起作用:
sed -n -e '/<a href=\(.*\)>/,/<\/a>/p' text.html
在 text.html 上,我们有类似...
<somestupidstuff> <a href='teste'> teste </a> </somestupidstuff>
所需的输出是:
<a href='teste'> teste </a>
但我得到的是:
<somestupidstuff> <a href='teste'> teste </a> </somestupidstuff>
也许我没有完全理解正则表达式。
它更容易
grep
用于您的案例。例如这样:如果有你可能想试试这个
<
:<a href>..</a>
但是请注意,对于
<a href=...</a>
在同一字符串中多次出现的字符串,它可能会返回您不期望的数据。sed
对您不起作用,因为/pattern1/,/pattern2/p
指示sed
打印行与行之间的所有行pattern1
(pattern2
包括带模式的行)。问题也可以解决
sed
,但这取决于somestupidstuff
内容(例如,在所有情况下是否都相同等)