2010-07-29 13 views
5

Tengo dos listas de direcciones IP. Necesito fusionarlos en tres archivos, la intersección, los de la lista1 solamente y los de la lista2 solamente.Diferencias/fusión de dos archivos

puedo hacer esto con awk/diff o cualquier otro simple comando de Unix? ¿Cómo?

Los archivos se ven así:

111.222.333.444 
111.222.333.445 
111.222.333.448 

Gracias!

Respuesta

3

Si los archivos están ordenados a continuación

join list1 list2 

es la salida de la intersección.

join -v 1 list1 list2 

dará salida a los que están en la lista1 solamente.

join -v 2 list1 list2 

dará salida a los que están en la lista2 solamente.

2

primer a clasificar, utilizando una especie, y entonces usted puede utilizar comm.

Intersección: comm -12 <file1> <file2>

Lista 1 Sólo: comm -23 <file1> <file2>

Lista 2 Sólo comm -13 <file1> <file2>

+0

O simplemente plan "comm ", dando tres columnas, con "archivo 1 solamente", "archivo 2 solamente" y "común" (siempre que los archivos de entrada estén ordenados). – Vatine