0

HTML を読み取り、リンクの href を出力する小さなスクリプトを bash でコーディングしました。

#!/bin/bash

link=$(echo $source | sed -ne 's#^.*<a href="\([^"]*\)".*$#\1#p')

  if [ "$(echo "$link" | grep '/fonts/list/style')" ]
    then
      echo "http://www.domain.com$link/10000"
  fi

var ソースは私の例にあります:

<li><span>19</span><a href="/fonts/list/style/home words">linktext</a></li>

問題: スクリプトが印刷されない

http://www.domain.com/fonts/list/style/home words/1000

印刷する代わりに

http://www.domain.com/fonts/list/style/home
words/1000

この改行を削除または回避するにはどうすればよいですか?

4

1 に答える 1

0

"に現れるものをエスケープする必要があり<li>...ます:

これは私に働いた:

#!/bin/bash

source="<li><span>19</span><a href=\"/fonts/list/style/home words\">linktext</a></li>"

link=$(echo $source | sed -ne 's#^.*<a href="\([^"]*\)".*$#\1#p')

  if [ "$(echo "$link" | grep '/fonts/list/style')" ]
    then
      echo "http://www.domain.com$link/10000"
  fi

出力

http://www.domain.com/fonts/list/style/home words/10000
于 2013-06-21T15:03:24.980 に答える