如何使用 curl grep 获取 html 内容?


#!/bin/sh
page=`curl -sL xxx.com`
url=`$page | grep -q "http://(w.*?)/"`
echo $url
echo $?

有我的抨击。但它出来了:

line 3: <html><head><title>??????????⹤??</title></head><body><iframe: No such file or directory
0

如何解决问题?谢谢。

由于您尝试直接执行curl -sL xxx.com的结果,因此会发生No such file or directory错误。我认为你想要的是使用grep来处理它的结果。一种选择是echo $page并将其送入grep进行处理。

并且需要为grep添加两个选项,因此请将url修改为,

url=`echo $page | grep -oP "http://(w.*?)/"`

简要说明,

  • -P:将 PATTERN 解释为 Perl 正则表达式,因为w包含在模式中
  • -o:只提取与Perl正则表达式匹配的模式
  • -q:无需采用-q,因为输出会被抑制,这就是为什么您的$url一无所获的原因

最新更新