2017-08-17 150 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