bash - grep-vf demasiado lento con archivos grandes
performance shell (1)
Basado en la solución de Inian en la publicación relacionada , este comando awk
debería resolver su problema:
awk ''FNR==NR {hash[$0]; next} !($0 in hash)'' filter.txt data.txt > op.txt
Estoy intentando filtrar datos de data.txt usando patrones almacenados en un archivo filter.txt. Como abajo,
grep -v -f filter.txt data.txt > op.txt
Este grep toma más de 10-15 minutos para 30-40K líneas en filter.txt y ~ 300K líneas en data.txt.
¿Hay alguna forma de acelerar esto?
data.txt
data1
data2
data3
filter.txt
data1
op.txt
data2
data3
Esto funciona con la solución provista por codeforester pero falla cuando filter.txt está vacío.