Text-Processing

使用循環比較兩個文件以查看兩個文件中都沒有哪些字元串

  • April 21, 2017
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 地址。

我從評論中刪除了您的資訊:

文件“full”是每行一個 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

適應您的需求(我不完全理解)

引用自:https://unix.stackexchange.com/questions/359545