使用循环比较两个文件以查看两个文件中不存在的字符串

使用循环比较两个文件以查看两个文件中不存在的字符串
i=$(cat /etc/icinga/devices.d/xlcdw/full)

if IP in grep -q $i /etc/icinga/devices.d/xlcdw/xlcdw-endpoints.cfg;
    echo "Already configured"
  else
    echo $IP
fi

我试图查看我已在 .cfg 文件中配置的主机是否存在于名为“full”的文件中。当然,上面的代码甚至无法运行。我正在寻找他们的 IP 地址。

答案1

我从评论中摘取了你的信息:

文件“完整”是每行一个 IP 地址。 .cfg 文件除 IP 地址外还包含各种字母文本。

我需要迭代“完整”文件以查看其中的 IP(每行一个)是否也在 .cfg 文件中

所以你想要迭代,但你的脚本没有。

尝试使用 for 循环:

for IP in $(cat /etc/icinga/devices.d/xlcdw/full); do
  if [[ `grep -c $IP /etc/icinga/devices.d/xlcdw/xlcdw-endpoints.cfg` > 0 ]]; then
    echo $IP already configured
  else
    echo $IP missing
  fi
done

根据您的需求进行调整(我不完全理解)

相关内容