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
Estou tentando ver se os hosts que já configurei no arquivo .cfg estão presentes no arquivo chamado 'full'. É claro que o código acima nem funciona. Estou procurando seus endereços IP.
Responder1
Retiro suas informações dos comentários:
o arquivo "completo" é um endereço IP por linha. O arquivo .cfg contém todos os tipos de texto alfabético, além de endereços IP.
e
Preciso iterar no arquivo 'completo' para ver se os IPs dentro dele (um por linha) também estão no arquivo .cfg
Então você deseja iterar, o que seu script não faz.
Tente com um loop 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
Adapte isso às suas necessidades (que não entendo totalmente)