GNU/Linux >> Belajar Linux >  >> Linux

grep daftar besar terhadap file besar

Coba

grep -f the_ids.txt huge.csv

Selain itu, karena pola Anda tampaknya merupakan string tetap, memberikan -F opsi mungkin mempercepat 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.)

Gunakan grep -f untuk ini:

grep -f the_ids.txt huge.csv > output_file

Dari man grep :

-f FILE, --file=FILE

Dapatkan pola dari FILE, satu per baris. File kosong berisi pola nol, dan karenanya tidak cocok dengan apa pun. (-f ditentukan oleh POSIX.)

Jika Anda memberikan beberapa masukan contoh, mungkin kami bahkan dapat meningkatkan grep kondisi sedikit lebih.

Uji

$ 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. Mencantumkan semua alamat email dalam file dengan grep

  2. Grep Bagaimana Cara Menekan Tampilan File yang Tidak Cocok?

  3. Bagaimana cara 'menangkap' aliran berkelanjutan?

  1. Hitung baris dalam file besar

  2. Menggunakan nc untuk mentransfer file besar

  3. Daftar semua perangkat ALSA

  1. Basa'?

  2. Apa yang Membuat Grep Mempertimbangkan File Menjadi Biner?

  3. Cara grep bagian file di bash shell