【发布时间】:2021-12-26 17:05:05
【问题描述】:
我目前正在编写一个 sed 脚本,在该脚本中,我必须在某种打印之后打印网站的 30 个标题。 我有以下错误“sed:文件news.sed第1行:'s'的未知选项。这是我的代码:
curl -sL news.ycombinator.com |
sed -nE '/\n/!s/class="title"><a[^>]*>[^<]*</\n&\n/g;/^class="title"/P;D' |
sed -E 's/class="title"><a href="([^"]*)" class="titlelink">([^<]*)</**\2**\n\1/'
你知道我该如何解决吗?顺便说一句,我只能使用 sed 来解决这个问题,而不是 html 解析器。
【问题讨论】:
-
顺便说一句 news.sed 是我的文件名,我必须打印来自网站 news.ycombinator.com 的标题。我还必须使用以下命令进行测试: curl -s news.ycombinator.com | sed -n -f news.sed
-
您正在解析的文本中有斜线。你应该使用different delimiter,比如
| -
你的意思是我应该使用 !s |而不是 !s / 和下面的行相同?
-
是的。
|是一个示例,但是,如果您遇到相同的错误,请尝试输入中未使用的另一个分隔符。此外,在您的命令中到处使用相同的分隔符(例如!s|...|...|P;D) -
我已尝试更换,但无法正常工作。我仍然收到相同的错误消息