El archivo a.txt
tiene aproximadamente 100k palabras, cada palabra está en una nueva línea
july.cpp
windows.exe
ttm.rar
document.zip
El archivo b.txt
tiene 150k palabras, una palabra por línea: algunas palabras son del archivo a.txt
, pero algunas son nuevas:
july.cpp
NOVEMBER.txt
windows.exe
ttm.rar
document.zip
diary.txt
¿Cómo puedo fusionar estos archivos en uno, eliminar todas las líneas duplicadas y mantener las líneas que son nuevas (líneas que existen a.txt
pero no existen b.txt
y viceversa)?
text-processing
Kate-Kasia
fuente
fuente
Respuestas:
Hay un comando para hacer esto:
comm
. Como se indica enman comm
, es simple:Tenga en cuenta que
comm
espera que el contenido de los archivos se ordene, por lo que debe ordenarlos antes de invocarloscomm
, así:Así que para resumir:
Después de los comandos anteriores, habrá líneas esperadas en el
result.txt
archivo.fuente
Aquí hay un breve script python3, basado en la respuesta de Germar , que debería lograr esto mientras se mantiene
b.txt
el orden sin clasificar.fuente
fuente
Echa un vistazo al
comm
comando coreutils :man comm
Entonces, por ejemplo, puedes hacer
(líneas exclusivas de
b.txt
)fuente