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
Estoy intentando ver si los hosts que ya configuré en el archivo .cfg están presentes en el archivo llamado "completo". Por supuesto, el código anterior ni siquiera se ejecuta. Estoy buscando sus direcciones IP.
Respuesta1
Saco tus datos de los comentarios:
el archivo "completo" es una dirección IP por línea. El archivo .cfg contiene todo tipo de texto alfabético además de direcciones IP.
y
Necesito iterar sobre el archivo 'completo' para ver si las IP que contiene (una por línea) también están en el archivo .cfg
Entonces quieres iterar, lo cual tu script no hace.
Pruebe con un bucle 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 eso a sus necesidades (que no entiendo del todo)