GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membatasi jumlah hasil yang dikembalikan dari grep?

Opsi lain hanya menggunakan head:

grep ...parameters... yourfile | head

Ini tidak memerlukan pencarian seluruh file - ini akan berhenti ketika sepuluh baris pertama yang cocok ditemukan. Keuntungan lain dengan pendekatan ini adalah tidak akan mengembalikan lebih dari 10 baris bahkan jika Anda menggunakan grep dengan opsi -o.

Misalnya jika file berisi baris berikut:

112233
223344
123123

Maka inilah perbedaan outputnya:

$ grep -o '1.' yourfile | head -n2
11
12

$ grep -m2 -o '1.'
11
12
12

Menggunakan head hanya mengembalikan 2 hasil seperti yang diinginkan, sedangkan -m2 mengembalikan 3.


-m opsi mungkin yang Anda cari:

grep -m 10 PATTERN [FILE]

Dari man grep :

-m NUM, --max-count=NUM
        Stop reading a file after NUM matching lines.  If the  input  is
        standard  input  from a regular file, and NUM matching lines are
        output, grep ensures that the standard input  is  positioned  to
        just  after the last matching line before exiting, regardless of
        the presence of trailing context lines.  This enables a  calling
        process  to resume a search.

Catatan:grep berhenti membaca file setelah jumlah kecocokan yang ditentukan telah ditemukan!


Linux
  1. Dengan Perintah "kucing" Linux, Bagaimana Hanya Menampilkan Baris Tertentu Dengan Angka?

  2. Bagaimana Cara Mengisi File Dengan Aliran Dari /dev/urandom Dengan Jumlah Baris Tertentu?

  3. Bagaimana cara menyalurkan output dari grep ke cp?

  1. Bagaimana saya bisa mendapatkan nomor terakhir dari string di bash?

  2. Bagaimana saya bisa memfilter hasil unik dari keluaran grep?

  3. Menghitung jumlah total kecocokan dengan grep, bukan hanya berapa banyak baris yang cocok

  1. Cara menggunakan perintah grep Linux

  2. Linux - grep dari baris tertentu ke akhir file

  3. Cara chmod file berdasarkan hasil dari perintah find