【问题标题】:wget and grep generate - too many argumentswget 和 grep 生成 - 参数太多
【发布时间】:2017-04-06 15:30:44
【问题描述】:

我有以下代码,它运行 wget 并带有文件名中的单词列表,然后尝试 grep 文本,但继续努力正确的反引号应该在哪里,因为我得到“太多参数” 另外,您认为使用 Curl 更好吗?

#!/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"

【问题讨论】:

  • 引用您的变量赋值:ip="http://172.29.46.28/",因为该 IP 是字符串文字,应该这样对待。

标签: bash grep wget


【解决方案1】:

我会更改 if 语句,不包括命令的输出(可能太长)。

只要做:

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

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

【讨论】:

  • 另请注意,使用 grep -qs (使其静音)更快,因为它会在匹配一行时立即结束。否则它必须处理它的所有标准输入。
猜你喜欢
  • 2018-02-06
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多