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

有我的bash。但它出了:如何使用curl grep来获取html内容?

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

0 

如何解决这个问题?谢谢。

回答

0

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

而且有两种选择需要添加为grep,所以修改url来,

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

简要说明,

  • -P:解释图案,因为\w包括一个Perl的正则表达式在模式中
  • -o:只提取匹配Perl正则表达式的模式
  • -q:无需采取-q因为输出将被抑制,这就是为什么你什么也得不到你的$url