GNU/Linux >> Belajar Linux >  >> Linux

Cara Memanfaatkan Perintah 'grep' dengan Baik

​Sistem Linux dan UNIX dilengkapi dengan perintah shell yang dikenal sebagai 'grep'. Ini hanya mencari teks, atau pola tertentu, dalam file atau seluruh direktori. Penggunaan yang paling umum adalah untuk mencari file dengan cepat untuk kemunculan suatu pola, yang dapat berupa teks biasa, atau dalam bentuk ekspresi reguler.

Di sini, pola yang digunakan akan berupa teks sederhana daripada ekspresi reguler. ​Artikel ini akan menunjukkan cara menggunakan grep saat mencari melalui file teks untuk satu atau lebih pola. Cara menghilangkan baris yang berisi pola tertentu dari pencarian Anda, dan cara menjalankan beberapa perintah grep menggunakan pipa untuk pemfilteran lebih lanjut.

​Ikhtisar Dasar 'grep'

​Lihat output terminal untuk perintah ini:

/etc$ grep unix group
/etc$ grep -n unix group
/etc$ grep -w unix group
/etc$ grep -r -s unix . 

Dalam screenshot ini, saya menggunakan grep untuk mencari kata “unix” di file /etc/group. Ini mengembalikan semua kemunculan unix_allsort (nama pengguna untuk komputer ini) sebagai hasilnya. Perintah kedua melakukan hal yang sama, tetapi dengan parameter -n, ini menunjukkan baris mana pola yang ditemukan dalam file.

Perintah ketiga sedikit berbeda dengan parameter '-w', yang memberi tahu grep untuk mencocokkan seluruh kata daripada sepotong teks sederhana. Karena file grup tidak memiliki "unix" sebagai keseluruhan kata, tidak ada output.

Perintah keempat berbeda. Parameter pertama, '-r', memberitahu grep untuk mencari melalui direktori secara rekursif. Direktori, dalam hal ini, adalah direktori saat ini (/ etc), dilambangkan dengan '.'. Parameter berikutnya, '-s', memberi tahu grep untuk menghindari pelaporan kesalahan apa pun, seperti kesalahan "Izin Ditolak", ke output, agar tidak mencemari output dengan kesalahan. Jadi perintah grep keempat mencantumkan semua kemunculan "unix" di semua file di /etc dan subdirektorinya, di mana kesalahan apa pun diabaikan begitu saja.

Beberapa Pola

​Untuk mencari lebih dari satu pola, cukup buat file teks yang berisi daftar pola, satu setiap baris, untuk dicari dalam file atau direktori dan gunakan parameter -f untuk memuat file yang berisi pola tersebut.$ grep -f ~/groups.txt /etc/group

File ini berisi pola-pola ini untuk mencari:

unix_allsort
video
sudo

Semua baris yang mengandung setidaknya satu dari pola-pola ini akan ditampilkan pada keluaran terminal.

Mengarahkan Keluaran

​Ingat bahwa menggunakan grep pada file besar, atau bahkan banyak file dapat menghasilkan banyak output. Jadi, hal yang baik untuk dilakukan adalah menyalurkan output ke perintah 'less' sehingga Anda dapat menggulir output secara keseluruhan. $ grep -r -n -f filter.txt resources/js | less Atau arahkan outputnya ke file teks untuk dilihat nanti. $ grep -r -n -f filter.txt resources/js> ~/result.txt  

​Sesuatu yang Sedikit Lebih Maju

Ada trik yang terkadang saya gunakan dengan pipa untuk mencari pola dan menyaring keluaran yang tidak diinginkan juga. Piping output dari grep untuk dilihat dalam 'less' adalah contohnya.

Dua contoh menggunakan log kernel (/var/log/kern.log). Lihat gambar ini:

Apa yang saya lakukan adalah menggunakan grep untuk mendaftar semua baris yang berisi seluruh kata "pci" (menggunakan parameter -w untuk mencocokkan seluruh kata saja), menyalurkan output ke perintah grep lain untuk menyaring pola apa pun yang tidak saya inginkan untuk melihat di output.

Pola yang saya filter adalah "ohci-pci", dan "ehci-pci".

Dalam gambar itu, saya menyaring garis-garis yang berisi pola yang tidak saya inginkan terlebih dahulu, lalu saya mencari output untuk apa yang saya inginkan. Saya juga menambahkan pola lain untuk menyaring, “pci=nocrs”. Ada lebih banyak fitur di grep daripada yang dibahas di sini jadi jika Anda berencana untuk menggunakan grep secara teratur, luangkan waktu untuk meneliti apa yang dapat dilakukannya, dan bagaimana cara yang lebih baik Gunakan. Juga, periksa pdfgrep untuk mencari melalui file PDF.

Kesimpulan

Alat seperti grep memang sangat berguna, belum lagi sangat diperlukan, untuk melihat banyak file teks, skrip, dan terutama log untuk pola tertentu dengan sangat mudah. Anda dapat mencari satu atau beberapa pola dalam satu file atau banyak file, atau menggunakannya untuk memfilter baris dari file yang berisi pola tersebut.

Anda bahkan dapat menggunakan pipa untuk hal yang lebih rumit pencarian dan pemfilteran menggunakan grep. Perlu waktu untuk mempelajari lebih lanjut tentang perintah yang luar biasa ini, terutama beberapa fitur canggihnya.


Linux
  1. Cara menggunakan perintah grep Linux

  2. Cara Menggunakan Perintah Grep untuk Menemukan Teks di File

  3. Cara menggunakan Perintah Su di Linux

  1. Cara Menggunakan Telnet Di Windows

  2. Cara Menggunakan Perintah mkdir untuk Membuat atau Membuat Direktori Linux

  3. Cara membuat perintah grep mengembalikan seluruh baris yang cocok

  1. Cara Menggunakan Perintah grep Di Linux/UNIX

  2. Cara Menggunakan Perintah Disown di Linux

  3. Cara Menggunakan Perintah SS Linux