GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan grep di Linux

Salah satu operasi yang paling umum digunakan di terminal Linux adalah mencari melalui file teks dan menyaring keluaran standar atau aliran kesalahan. Linux menyediakan alat hebat yang memungkinkan kita untuk menyelesaikan tugas itu dengan mudah – grep. Dalam artikel ini kami akan membahas kasus penggunaan grep yang paling umum yang pasti akan menyederhanakan rutinitas harian Anda.

Apa itu grep

Grep adalah singkatan dari Global Regular Expression Print. Ini adalah utilitas yang sangat berguna untuk menelusuri sekumpulan besar file teks (misalnya, log).

Grep adalah perintah paling berguna di Linux/Unix untuk administrator sistem, pengembang, dan insinyur DevOps. Tujuan utama alat ini adalah untuk memeriksa string atau pola dalam file tertentu, atau memfilter keluaran perintah lain.

Pola yang kami sebutkan di atas, dikenal sebagai ekspresi reguler.

perintah grep mencetak baris ke terminal dengan string jika menemukan kecocokan dengan permintaan pencarian.

Ada banyak contoh penggunaan grep yang berbeda, jadi, mari kita lihat bagaimana dan kapan Anda dapat menggunakannya.

Menginstal grep di Linux

Biasanya, grep diinstal di sebagian besar sistem Linux dan bahkan wadah Docker kecil. Tetapi jika Anda belum menginstalnya di sistem Anda, Anda dapat melakukannya dengan menggunakan perintah berikut, misalnya:

apt-get updateapt-get install -y grep

contoh penggunaan grep

Di bagian artikel ini, kami akan membahas contoh paling umum penggunaan grep.

Memfilter keluaran perintah

Anda dapat menggunakan perintah grep untuk mencari dan mencetak baris apa pun dari output perintah Linux apa pun yang cocok dengan pola yang ditentukan.

Dalam contoh ini, kami akan memeriksa paket Python 3 mana yang kami miliki di sistem Ubuntu kami:

dpkg -l | grep python3

Dalam contoh ini:

  • dpkg -l akan mencetak semua paket yang diinstal
  • grep akan memfilter dpkg output dan cetak hanya string, yang berisi python3 string

Dengan cara yang sama, Anda dapat menampilkan informasi model CPU, misalnya:

grep -i 'Model' /proc/cpuinfo

Mencari string di dalam file

Dalam contoh ini, perintah grep akan mencari string “root” di file ‘/etc/passwd’ dan mencetaknya jika string telah ditemukan.

Biasanya, kami menggunakan perintah ini untuk memeriksa apakah sistem memiliki akun pengguna dengan nama tertentu (contoh root in out): 

grep root /etc/passwd

Menelusuri banyak file

Untuk mengetahui string dalam beberapa file sekaligus, gunakan perintah grep dan tentukan nama file dalam satu baris. Anda dapat menggunakan ekspresi reguler untuk menelusuri file dengan mask.

Mari unduh Apache access.log yang dapat diakses publik:

 mkdir -p /var/log/httpd
 cd /var/log/httpd
 wget http://www.almhuette-raith.at/apache-log/access.log 

Sekarang, mari kita bagi file ini menjadi beberapa file dengan 10.000 baris dalam file:

Sekarang, kita dapat mencari melalui file untuk 500 HTTP server error:

grep ' 500 ' xac xad

Untuk mencari di semua file dalam direktori kerja saat ini, gunakan * setelah pola.

Pada contoh di bawah ini, perintah grep akan mencari 500 kesalahan server di semua file:

grep ' 500 ' *

Dengan -w opsi dalam perintah grep, Anda dapat mencari file yang berisi pola kata:

grep -w 'Windows XP' *

perintah grep cukup pintar untuk memungkinkan kita melakukan pencarian terlepas dari sensitivitas huruf besar/kecil dari pola pencarian.

Untuk melakukan itu, kita perlu menggunakan -i sebagai argumen.

Berikut adalah contoh yang sama, tetapi sekarang kami melakukan pemfilteran yang tidak peka huruf besar/kecil:

grep -i -w 'windows xp' *

Berkas keluaran yang berisi pola penelusuran

Anda dapat menggunakan -l opsi untuk menampilkan semua nama file yang berisi pola yang dicari:

grep -l -i -w 'windows xp' *

Hitung kecocokan per file

Jika Anda ingin mengetahui berapa kali pola Anda cocok di semua file, tambahkan -c pilihan:

grep -c -i -w 'windows xp' *

Jumlah baris sebelum pola yang dicari

Untuk melihat baris dalam file sebelum pola pencarian, tambahkan -B argumen diikuti dengan jumlah angka yang ingin Anda ambil dari file:

grep -B 3 -i -w 'windows xp' xaf

Jumlah baris setelah pola yang dicari

Demikian pula, Anda dapat menggunakan -A argumen untuk menentukan jumlah baris yang akan dicetak setelah pola yang dicari:

grep -A 3 -i -w 'windows xp' xaf

Cetak nomor baris untuk pencocokan pola pencarian

Untuk melihat nomor baris dari pola pencarian yang ditemukan, Anda dapat menggunakan -n argumen:

grep -n -i -w 'windows xp' xaf

Mencocokkan awal string

Dalam contoh berikut, kami akan menggunakan perintah grep untuk menemukan semua permintaan yang berasal dari alamat IP tertentu.

Semua baris yang dicari harus dimulai dari 5.34.180.192 istilah.

grep "^5.34.180.192" xaf

Mencocokkan akhir string

Tambahkan $ ke akhir pola untuk menemukan garis yang diakhiri dengan string yang dicari:

grep "Chrome/62\" \"-\"$" xaf

Segera setelah string pencarian kami berisi " simbol, kami menghindarinya dengan \ .

Kita dapat menggunakan grep untuk mencari beberapa pola sekaligus. Tambahkan -e argumen sebelum setiap pola pencarian:

grep -e "Chrome/62\" \"-\"$" -e "15/Mar/2021:08:35:23" xaf

Di sini, kami mencari semua string dalam file yang diakhiri dengan Chrome/62" "-" DAN berisi tanggal dan waktu tertentu 15/Mar/2021:08:35:23 .

Mengubah warna keluaran

Karena keluaran berwarna meningkatkan keterbacaan, Anda dapat mengubahnya ke warna favorit Anda dengan menyetel GREP_COLOR variabel lingkungan:

GREP_COLOR='1;35' grep --color=always 'admin' /etc/passwd

Anda dapat memperoleh informasi lebih lanjut tentang variabel GREP_COLOR di dokumentasi grep resmi.

Ringkasan

Perintah grep sangat berguna untuk memfilter konten file teks atau hasil keluaran perintah. Dalam artikel ini, kami telah membahas perintah grep yang paling umum digunakan, yang akan menyederhanakan pengalaman shell Anda.

Kami harap artikel ini bermanfaat untuk Anda. Jika demikian, tolong bantu kami untuk menyebarkannya ke seluruh dunia.


Linux
  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan Perintah Su di Linux

  3. Cara Menggunakan Perintah Layar Linux

  1. Cara Menggunakan Perintah grep Di Linux/UNIX

  2. Cara Menggunakan Perintah Disown di Linux

  3. Cara Menggunakan Perintah SS Linux

  1. Cara Menggunakan Perintah Linux nohup

  2. Cara Menggunakan Perintah Grep di Linux + Contoh Grep yang Berguna

  3. Cara Menggunakan du Command di Linux