Linux/Unix Shell Scripting - Filtrar diferencias y añadir

 
Vista:

Filtrar diferencias y añadir

Publicado por nuke (4 intervenciones) el 07/11/2011 17:09:16
Buenas tardes compañeros, a ver si alguien puede echarme un cable.

Estoy realizando un script para obtener las macs de los equipos de la red y posteriormente añadirlo a las reglas de iptables.

Os comento hasta donde he llegado.

dir=/pepe/scripts/tmp

# Obtenemos ips a partir fichero dhcp/bind

grep 192.168 $dir/db.mydomain.local > $dir/getip.txt
sed '/^$/d' $dir/blank > $dir/getip.txt
cat $dir/getip.txt | cut -f 5 > $dir/blank

# Extraemos MACS de ips
echo "" > $dir/get_mac.txt
for MAC in `cat $dir/getip.txt`
do
nmap -sS $MAC >> $dir/get_mac.txt
done

Esta parte del script funciona correctamente y obtengo las macs

00:13:8B:2E:DA:13
00:05:29:02:08:4A
00:12:C1:63:A8:CE
00:15:76:C6:DC:47

Aquí es donde me quedo bloqueado,

Mi idea es comparar linea a linea del fichero obtenido sobre el fichero que actualmente me crea la regla en el iptables.

he intentando a traves de la salida estandar si el resultado de grep es 1 añade sobre el fichero del iptables mac.allow

for busca in `cat $dir/get_mac.txt`
do
grep $busca > $dir/busqueda

insert=$(grep -c $dir/busqueda $dir/mac.allow)
if [ $insert -gt 0 ]; then
echo ""
else
echo $busqueda >> $dir/mac.allow
fi

done

Estoy abierto a cualquier sugerencia. En si lo que quiero hacer es recorrer todo el fichero1 comparar con el fichero2 y añadir las diferencias al fichero2.


Gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Filtrar diferencias y añadir

Publicado por Tom (361 intervenciones) el 08/11/2011 11:48:16
No se entiende muy bien .. pero quizás quieras hacer algo así:

1
2
3
4
for busca in `cat $dir/get_mac.txt`
do
  grep "$busca" $dir/mac.allow || (echo "$busca" >> $dir/busqueda $dir/mac.allow)
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar diferencias y añadir

Publicado por nuke (4 intervenciones) el 09/11/2011 22:48:59
Gracias Tom por tú ayuda

No he tenido tiempo de contestar.

Al final he utilizado sort -u para comparar los 2 ficheros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar