Cara Mencetak Pertandingan Pertama dan Berhenti Dengan Grep

  • Post author:
  • Post category:Tutorial

grep adalah utilitas penelusuran di Linux yang digunakan untuk mencocokkan konten. Secara default, ini akan mencetak baris apa pun yang cocok, yang mungkin menyertakan banyak output. Jika Anda hanya peduli dengan kecocokan pertama, Anda dapat membatasi output hanya pada baris pertama.

Limiting Output dengan grep -m

Perintah grep memiliki parameter -m atau –max-count, yang dapat menyelesaikan masalah ini, tetapi mungkin tidak bekerja seperti yang Anda harapkan.

Parameter ini akan membuat grep berhenti mencocokkan setelah menemukan N baris yang cocok, yang berfungsi dengan baik karena akan membatasi output ke satu baris, selalu berisi kecocokan pertama. Kami dapat memverifikasi ini dengan tanda -n untuk mencetak nomor baris.

grep -m 1 “foo” file

Namun, ini memiliki beberapa kelemahan yang harus Anda waspadai. Itu tidak berhenti setelah N cocok, tetapi berhenti setelah N baris. Hal ini akan menyebabkan grep mencocokkan beberapa kali pada setiap baris, yang dapat menjadi masalah saat digunakan dengan tanda -o , yang mencetak setiap kecocokan pada baris baru.

Juga, hanya N baris per file, jadi saat digunakan untuk beberapa file akan mencetak baris pertama yang cocok untuk setiap file.

Menggunakan head Untuk Membatasi grep Output

Alternatifnya adalah menyalurkan output ke perintah yang berbeda, head, yang hanya akan memotong input setelah N baris. Masih sedikit berguna untuk menggunakan -m 1 dengan grep meskipun, karena akan berhenti memproses file besar jika kecocokan ditemukan lebih awal.

grep “foo” file_one.txt | head -1

Ini berfungsi dengan tanda -o untuk mencetak hanya kecocokan pertama, meskipun ada beberapa kecocokan dalam file:

Namun, berhati-hatilah saat menggunakan ini dengan banyak file. Menggunakan head akan mencetak baris pertama yang cocok di file apa pun. Ini bisa menjadi masalah karena grep mencetak output sesuai urutan pemrosesan file, dan Anda mungkin tidak tahu urutan pemrosesan file kecuali jika Anda mengurutkannya secara manual sebelum meneruskannya ke grep.

Demikian pula, Anda juga dapat menggunakan tail untuk mencetak baris terakhir yang cocok.

Itulah berita seputar Cara Mencetak Pertandingan Pertama dan Berhenti Dengan Grep, semoga bermanfaat. Disadur dari HowToGeek.com.