GNU/Linux >> Belajar Linux >  >> Linux

Menemukan konten dari satu file di file lain

grep sendiri mampu melakukannya. Cukup gunakan bendera -f :

grep -f <patterns> <file>

<patterns> adalah file yang berisi satu pola di setiap baris; dan <file> adalah file tempat Anda ingin mencari sesuatu.

Perhatikan bahwa, untuk memaksa grep untuk menganggap setiap baris sebagai pola, meskipun konten setiap baris terlihat seperti ekspresi reguler, Anda harus menggunakan flag -F, --fixed-strings .

grep -F -f <patterns> <file>

Jika file Anda adalah CSV, seperti yang Anda katakan, Anda dapat melakukan:

grep -f <(tr ',' '\n' < data.csv) <file>

Sebagai contoh, pertimbangkan file "a.txt", dengan baris berikut:

alpha
0891234
beta

Sekarang, file "b.txt", dengan baris:

Alpha
0808080
0891234
bEtA

Output dari perintah berikut adalah:

grep -f "a.txt" "b.txt"
0891234

Anda tidak perlu sama sekali untuk for -loop di sini; grep sendiri menawarkan fitur ini.

Sekarang gunakan nama file Anda:

#!/bin/bash
patterns="/home/nimish/contents.txt"
search="/home/nimish/another_file.csv"
grep -f <(tr ',' '\n' < "${patterns}") "${search}"

Anda dapat mengubah ',' ke pemisah yang Anda miliki di file Anda.


Solusi lain:

  • gunakan awk dan buat hash Anda sendiri (misalnya ahash), semua dikendalikan oleh Anda sendiri.
  • ganti $0 to $i dan Anda dapat mencocokkan bidang apa pun yang Anda inginkan.
awk -F"," '
{  
   if (nowfile==""){ nowfile = FILENAME;  }

   if(FILENAME == nowfile)
   {
     hash[$0]=$0;
   }
   else
   {
       if($0 ~ hash[$0])
       {  
           print $0
       }
   }
} '  xx yy

Linux
  1. Menemukan blok dan file konten aplikasi OCP di ODF:Membuat proyek

  2. Cara menyalin atau mengkloning izin dari satu file ke file lain di Linux

  3. Alat Untuk Mendapatkan Garis Dalam Satu File Yang Tidak Di File Lain?

  1. Apakah Ini Uuoc (Penggunaan Cat yang Tidak Berguna) Untuk Mengarahkan Satu File Ke File Lain?

  2. Bagaimana Cara Menulis File Ke Yang Lain?

  3. Bagaimana Cara Mendapatkan Jumlah Md5 Dari Isi Direktori Sebagai Satu Jumlah?

  1. Salin N-baris Terakhir Dari Satu File Ke File Lain?

  2. Keluarkan Isi File Saat Mereka Berubah?

  3. Satu Liner Untuk Memeriksa Ada File?