GNU/Linux >> Tutoriales Linux >  >> Linux

grep una lista grande contra un archivo grande

Prueba

grep -f the_ids.txt huge.csv

Además, dado que sus patrones parecen ser cadenas fijas, proporcionar el -F la opción podría acelerar grep .

   -F, --fixed-strings
          Interpret PATTERN as a  list  of  fixed  strings,  separated  by
          newlines,  any  of  which is to be matched.  (-F is specified by
          POSIX.)

Usa grep -f por esto:

grep -f the_ids.txt huge.csv > output_file

Desde man grep :

-f ARCHIVO, --archivo=ARCHIVO

Obtenga patrones de ARCHIVO, uno por línea. El archivo vacío contiene ceropatrones y, por lo tanto, no coincide con nada. (-f está especificado por POSIX.)

Si proporciona alguna entrada de muestra, tal vez incluso podamos mejorar el grep acondiciona un poco más.

Prueba

$ cat ids
11
23
55
$ cat huge.csv 
hello this is 11 but
nothing else here
and here 23
bye

$ grep -f ids huge.csv 
hello this is 11 but
and here 23

Linux
  1. ¿Qué hace que Grep considere que un archivo es binario?

  2. Grep ¿Cómo suprimir la visualización de archivos no coincidentes?

  3. Comando grep de Linux

  4. ¿Cómo 'grep' una secuencia continua?

  5. Contar líneas en archivos grandes

Comando Ls en Linux (Lista de archivos y directorios)

Cómo encontrar una cadena en un archivo en Linux

Cómo crear un archivo grande de 1 GB o 10 GB en Linux

Cómo grep \n en el archivo

Listar todos los dispositivos ALSA

grep pares de patrones y archivo