Pendahuluan
Panduan ini merinci perintah grep yang paling berguna untuk sistem Linux / Unix.
Setelah melalui semua perintah dan contoh, Anda akan mempelajari cara menggunakan grep untuk mencari file teks dari terminal.
Prasyarat
- Sistem mirip Linux atau UNIX
- Akses ke terminal/baris perintah
- Pengguna dengan izin untuk mengakses file dan direktori yang diinginkan
Apa itu Perintah grep?
Terima adalah akronim yang merupakan singkatan dari G global R biasa E ekspresi P cetak.
Grep adalah alat baris perintah Linux / Unix yang digunakan untuk mencari string karakter dalam file tertentu. Pola pencarian teks disebut ekspresi reguler. Ketika menemukan kecocokan, ia mencetak garis dengan hasilnya. Perintah grep berguna saat mencari melalui file log besar.
Menggunakan Perintah grep
Perintah grep terdiri dari tiga bagian dalam bentuk paling dasar. Bagian pertama dimulai dengan grep
, diikuti dengan pola yang Anda cari. Setelah string muncul nama file yang grep cari.
Sintaks perintah grep yang paling sederhana terlihat seperti ini:
Perintah dapat berisi banyak opsi, variasi pola, dan nama file. Kombinasikan sebanyak mungkin opsi yang diperlukan untuk mendapatkan hasil yang Anda butuhkan. Di bawah ini adalah perintah grep paling umum dengan contoh .
Untuk Mencari File
Untuk mencetak baris apa pun dari file yang berisi pola karakter tertentu, dalam kasus kami phoenix
dalam file sample2
, jalankan perintah:
grep phoenix sample2
Grep akan menampilkan setiap baris di mana ada kecocokan untuk kata phoenix
. Saat menjalankan perintah ini, Anda tidak mendapatkan kecocokan yang sama persis. Sebagai gantinya, terminal mencetak baris dengan kata-kata yang berisi rangkaian karakter yang Anda masukkan. Ini contohnya:
Untuk Mencari Banyak File
Untuk mencari beberapa file dengan perintah grep, masukkan nama file yang ingin Anda cari, pisahkan dengan karakter spasi.
Dalam kasus kami, perintah grep untuk mencocokkan kata phoenix
dalam tiga file sample
, sample2
, dan sample3
terlihat seperti contoh ini:
grep phoenix sample sample2 sample3
Terminal mencetak nama setiap file yang berisi baris yang cocok, dan baris sebenarnya yang menyertakan string karakter yang diperlukan.
Anda dapat menambahkan nama file sebanyak yang diperlukan. Terminal mencetak baris baru dengan nama file untuk setiap kecocokan yang ditemukan dalam file yang terdaftar.
Cari Semua File di Direktori
Untuk mencari semua file di direktori saat ini, gunakan tanda bintang sebagai ganti nama file di akhir perintah grep.
Dalam contoh ini, kami menggunakan nix sebagai kriteria pencarian:
grep nix *
Output menunjukkan nama file dengan nix dan mengembalikan seluruh baris.
Untuk Menemukan Seluruh Kata Saja
Grep memungkinkan Anda untuk menemukan dan mencetak hasil untuk seluruh kata saja. Untuk menelusuri kata phoenix di semua file di direktori saat ini, tambahkan -w ke perintah grep.
grep -w phoenix *
Opsi ini hanya mencetak baris dengan kecocokan seluruh kata dan nama file yang ditemukannya di:
Saat -w
dihilangkan, grep menampilkan pola pencarian meskipun itu adalah substring dari kata lain.
Jika Anda ingin mencari beberapa string dan pola kata, lihat artikel kami tentang cara mengambil beberapa string, pola, atau kata.
Untuk Mengabaikan Huruf Besar dalam Pencarian Grep
Karena perintah grep peka terhadap huruf besar/kecil, salah satu operator yang paling berguna untuk pencarian grep adalah -i. Alih-alih mencetak hasil huruf kecil saja, terminal menampilkan hasil huruf besar dan huruf kecil. Outputnya termasuk baris dengan entri kasus campuran.
Contoh perintah ini:
grep -i phoenix *
Jika kita menggunakan -i operator
untuk mencari file di direktori saat ini untuk phoenix
, hasilnya seperti ini:
Untuk Mencari Subdirektori
Untuk memasukkan semua subdirektori dalam pencarian, tambahkan -r operator ke perintah grep.
grep -r phoenix *
Perintah ini mencetak kecocokan untuk semua file di direktori saat ini, subdirektori, dan jalur yang tepat dengan nama file. Pada contoh di bawah, kami juga menambahkan -w
operator untuk menampilkan seluruh kata, tetapi bentuk outputnya sama.
Penelusuran grep terbalik
Anda dapat menggunakan grep untuk mencetak semua baris yang tidak mencocokkan pola karakter tertentu. Untuk membalikkan pencarian, tambahkan -v
ke perintah grep.
Untuk mengecualikan semua baris yang mengandung phoenix
, masukkan:
grep -v phoenix sample
Terminal mencetak semua baris yang tidak mengandung kata yang digunakan sebagai kriteria pencarian. Gunakan -i
untuk mengabaikan huruf besar/kecil untuk mengecualikan sepenuhnya kata yang digunakan untuk pencarian ini:
Untuk Menampilkan Baris yang Tepat Sesuai dengan String Pencarian
Perintah grep mencetak seluruh baris ketika menemukan kecocokan dalam file. Untuk mencetak hanya baris yang benar-benar cocok dengan string pencarian, tambahkan -x pilihan.
grep -x “phoenix number3” *
Outputnya hanya menunjukkan garis dengan kecocokan yang sama persis. Jika ada kata atau karakter lain di baris yang sama, grep tidak memasukkannya ke dalam hasil pencarian. Jangan lupa untuk menggunakan tanda kutip setiap kali ada spasi atau simbol dalam pola pencarian.
Berikut perbandingan hasil tanpa dan dengan -x
operator dalam perintah grep kami:
Untuk Mencantumkan Nama File yang Cocok
Terkadang, Anda hanya perlu melihat nama file yang berisi kata atau string karakter dan mengecualikan baris yang sebenarnya. Untuk mencetak hanya nama file yang cocok dengan pencarian Anda, gunakan -l operator:
grep -l phoenix *
Outputnya menunjukkan nama file persis yang berisi phoenix
di direktori saat ini tetapi tidak mencetak baris dengan kata yang sesuai:
Sebagai pengingat, gunakan operator pencarian rekursif -r
untuk memasukkan semua subdirektori dalam pencarian Anda.
Untuk Menghitung Jumlah Kecocokan
Grep dapat menampilkan nama file dan jumlah baris yang cocok dengan kata Anda.
Gunakan -c operator untuk menghitung jumlah kecocokan:
grep -c phoenix *
Untuk Menampilkan Jumlah Baris Sebelum atau Setelah String Pencarian
Terkadang Anda membutuhkan lebih banyak konten dalam hasil penelusuran untuk memutuskan konten yang paling relevan.
Gunakan operator berikut untuk menambahkan baris yang diinginkan sebelum, setelah pertandingan, atau keduanya:
- Gunakan -A dan sejumlah baris untuk ditampilkan setelah pertandingan:
grep -A 3 phoenix sample
- perintah ini mencetak tiga baris setelah pertandingan. - Gunakan -B dan sejumlah baris untuk ditampilkan sebelum pertandingan:
grep -B 2 phoenix sample
- perintah ini mencetak dua baris sebelum pertandingan. - Gunakan -C dan sejumlah baris untuk ditampilkan sebelum dan setelah pertandingan:
grep -C 2 phoenix sample
- perintah ini mencetak dua baris sebelum dan sesudah pertandingan.
Untuk Menampilkan Nomor Baris dengan Kecocokan grep
Saat grep mencetak hasil dengan banyak kecocokan, akan berguna untuk melihat nomor baris. Tambahkan -n operator ke perintah grep apa pun untuk menampilkan nomor baris.
Kami akan mencari Phoenix di direktori saat ini, tampilkan dua baris sebelum dan sesudah kecocokan beserta nomor barisnya.
grep -n -C 2 Phoenix sample
Batasi grep Output ke Jumlah Baris Tetap
File individual, seperti file log, dapat berisi banyak kecocokan untuk pola pencarian grep. Batasi jumlah baris dalam output grep dengan menambahkan -m opsi dan nomor pada perintah.
grep -m2 Phoenix sample
Dalam hal ini, terminal mencetak dua kecocokan pertama yang ditemukan di sample
berkas.
Jika Anda tidak menentukan file dan mencari semua file dalam direktori, output akan mencetak dua hasil pertama dari setiap file bersama dengan nama file yang berisi kecocokan.