GNU/Linux >> LINUX-Kenntnisse >  >> Linux

grep eine große Liste gegen eine große Datei

Versuchen Sie es

grep -f the_ids.txt huge.csv

Da Ihre Muster feste Zeichenfolgen zu sein scheinen, geben Sie zusätzlich den -F an Option könnte grep beschleunigen .

   -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.)

Verwenden Sie grep -f dazu:

grep -f the_ids.txt huge.csv > output_file

Ab man grep :

-f DATEI, --file=DATEI

Beziehen Sie Muster aus DATEI, eines pro Zeile. Die leere Datei enthält Nullmuster und passt daher zu nichts. (-f wird von POSIX angegeben.)

Wenn Sie einige Beispieleingaben bereitstellen, können wir vielleicht sogar den grep verbessern Kondition etwas mehr.

Test

$ 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. Warum betrachtet Grep eine Datei als binär?

  2. Grep Wie unterdrücke ich die Anzeige einer nicht übereinstimmenden Datei?

  3. Lesen von Grep-Mustern aus einer Datei?

  4. grep ohne Pfad/Datei:Zeile anzuzeigen

  5. Wie grep \n in Datei

Ls-Befehl in Linux (Dateien und Verzeichnisse auflisten)

So finden Sie eine Zeichenfolge in einer Datei unter Linux

So erstellen Sie eine große 1-GB- oder 10-GB-Datei unter Linux

Alle ALSA-Geräte auflisten

Wie man einen Abschnitt einer Datei in der Bash-Shell grep

grep Paare von Mustern und Datei