Bash:在curl中使用来自变量的greping字符串

时间:2012-09-10 12:17:34

标签: bash curl grep

我正在尝试在运行grep的while循环中使用curl

    i=1
    while read -a row
    do
      test $i -eq 1 && ((i=i+1)) && continue
      STRING=${row[2]}
      CURL=`curl ${row[0]}${row[1]} | ${grep '$STRING'}`
      echo $CURL
    done < <(echo "SELECT check_address, check_page, check_string FROM checks" | mysql monitor)

问题在于"${grep '$STRING'}行。由于grep需要grep 'text',我尝试了grep '$var'${grep $var}无法做出的不同方法它有效。

SQL输出:

    ${row[0]} = http://www.codeoasis.com/
    ${row[1]} = index.php
    ${row[2]} = Copyright

1 个答案:

答案 0 :(得分:2)

您无需捕获curlgrep的输出:

i=1
while read -a row
do
  test $i -eq 1 && ((i=i+1)) && continue
  STRING=${row[2]}
  curl ${row[0]}${row[1]} | grep "$STRING"
done < <(echo "SELECT check_address, check_page, check_string FROM checks" | mysql monitor)

请注意在$STRING周围使用双引号,而不是单引号。