2017-04-06 62 views
0

我有下面的代碼運行wget與文件名中的單詞列表,然後嘗試grep文本,但繼續掙扎在右後蜱應該是因爲我越來越「太多的論據「 也,你認爲使用Curl會更好嗎?wget和grep生成 - 太多的參數

#!/usr/bin/bash 

filename=$1 

ip=http://172.29.46.28/ 

while read -r line 

do 

name="$line" 

if [ `wget -q -O - "$ip""$name" | grep "text"` ] 
then 
    echo "found" 
fi 
done < "$filename" 
+0

引用您的變量賦值:'IP = 「http://172.29.46.28/」'因爲IP是一個字符串文字,並應受到同樣的對待。 – JNevill

回答

0

我會改變if語句,不包括命令的輸出(可能會太長)。

只要做到:

wget -q -O - "${ip}${name}" | grep -qs "text" 

if [ $? -eq 0 ] 
then 
    echo "found" 
fi 
+0

另請注意,使用grep -qs(使其保持沉默)速度更快,因爲只要匹配一行,它就會結束。否則,它必須處理所有的標準輸入。 – kontiki