GNU/Linux >> Belajar Linux >  >> Linux

Temukan Hanya Kejadian Pertama Menggunakan Only Grep?

Misalkan saya memiliki file dengan banyak kata, saya hanya ingin mencari kata pertama dengan pola "xyz". Bagaimana cara melakukannya jika ada beberapa kata dengan pola ini pada baris yang sama?
-m mengembalikan semua kata di baris pertama yang cocok. Saya hanya perlu perintah grep.

Jawaban yang Diterima:

Secara default grep mencetak garis mencocokkan pola, jadi jika pola muncul satu kali atau lebih dalam satu baris, grep akan mencetak seluruh baris itu.

Menambahkan bendera -m 7 akan memberi tahu grep untuk mencetak hanya 7 baris pertama tempat pola muncul.

Jadi ini harus melakukan apa yang Anda inginkan (saya belum mengujinya):

grep -o -m 1 xyz myfile | head -1

Sunting:seperti yang ditunjukkan oleh @Kusalananda, Anda tidak benar-benar membutuhkan -m bendera tetapi menggunakannya berarti grep tidak perlu mengurai seluruh file, dan akan menampilkan hasilnya lebih cepat, terutama jika myfile adalah file besar.


Linux
  1. Pencocokan Pola Multiline Menggunakan Sed, Awk Atau Grep?

  2. Grep – Mengapa Kurung Dalam Pola Grep Menghapus Proses Grep Dari Hasil Ps?

  3. Bagaimana Menghentikan Perintah Temukan Setelah Pertandingan Pertama?

  1. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  2. Perintah Linux:Bagaimana cara 'menemukan' hanya file teks?

  3. Menemukan file yang dapat dieksekusi menggunakan ls dan grep

  1. Menggunakan perintah find Linux – Penggunaan dengan contoh

  2. Temukan Nomor Baris Yang Berisi Pola Menggunakan Pembatas Regex Khusus?

  3. Menggunakan grep vs awk