J'ai deux fichiers.
A. Clés.txt
<string>
<string>
..
..
B. Hellos.txt
<string> <ip address> <ip address>
<string> <ip address> <ip address>
..
..
Je veux exécuter la tâche suivante : si une chaîne de caractères (colonne1) dans le fichier hellos.txt
se trouve dans keys.txt
puis ajoutez la règle de pare-feu pour autoriser les paquets pour ces adresses IP.
J'ai essayé de grep -v -F -x -f file1 file2
mais je ne parviens pas à obtenir la sortie correcte.
EDIT : J'ai mis à jour pour utiliser awk, cependant je ne suis pas capable d'ajouter les règles à iptables.
-
Ceci imprime la ligne correspondante
sudo awk 'FNR==NR{a[$1];next}($1 in a){print}' keys.txt hellos.txt
-
Ceci tente d'ajouter une règle à iptables mais sans succès.
sudo awk 'FNR==NR{a[$1];next}($1 in a){iptables -I INCOMING -j -s$2 ALLOW}' keys.txt hellos.txt