2017-08-17 13 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を使ってその結果を処理することです。 1つのオプションはecho $pageで、処理のためにgrepに入力します。

そして、二つの選択肢があるがgrepのために追加する必要があるので、あなたのurl

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

、と簡単な説明、

  • -Pを変更:\wが含まので、Perlの正規表現としてパターンを解釈しますパターンの中で
  • -o:Perlの正規表現に一致するパターンのみを抽出してください
  • -q:あなたは$url
ために何を取得理由です出力が抑制されるため -qを採用する必要はありません、
関連する問題