Sintaksis
$ grep 'pattern1\|pattern2' nama fileEkspresi reguler selalu ditulis dalam satu kutipan. Dua nama dipisahkan dengan garis miring terbalik dan operator alterasi. Perintah diakhiri dengan nama file. Saat melakukan grep rekursif, direktori atau seluruh jalur digunakan alih-alih satu nama file.
Prasyarat
Pada artikel ini, kita akan mempelajari fungsionalitas grep dalam mencari beberapa pola dan string. Untuk tujuan ini, Anda harus menjalankan sistem operasi Linux di kotak virtual Anda. Anda perlu menginstalnya di sistem Anda. Setelah konfigurasi, Anda akan memiliki akses untuk menggunakan semua aplikasi. Setelah masuk ke pengguna dengan memberikan kata sandi, buka baris perintah shell terminal untuk melanjutkan.
Cari dengan Beberapa Pola dalam File Menggunakan Grep
Jika kita ingin mencari beberapa pola atau string dalam file tertentu, gunakan fungsionalitas grep untuk mengurutkan di dalam file dengan bantuan lebih dari satu kata input dalam perintah. Kami menggunakan '\|' operator untuk pemisahan dua pola dalam perintah.
$ grep file 'teknis\|pekerjaan'.txtPerintah tersebut mewakili cara kerja grep. Kedua file yang disebutkan akan dicari di filea.txt. Kata-kata yang dicari disorot di seluruh teks keluaran.
Untuk mencari lebih dari dua kata, kami akan terus menambahkannya dengan metode yang sama.
$ grep 'grafik\|photoshop\|poster' fileb.txt
Cari Beberapa String dengan Mengabaikan Kasus
Untuk memahami konsep sensitivitas huruf pada fungsi grep di Linux, perhatikan contoh berikut:. Dua perintah bekerja pada grep. Satu dengan '-i' dan yang lainnya tanpa. Contoh ini menunjukkan perbedaan antara perintah. Yang pertama menunjukkan bahwa dua kata akan dicari dalam file yang diberikan. Namun, seperti yang ditunjukkan dalam perintah "Aqsha", itu dimulai dengan huruf kapital A. Jadi, itu tidak akan disorot karena, dalam file tertentu, teks ini dalam huruf kecil.
$ grep 'Aqsha\|adik' file20.txtItu hanya akan mempertimbangkan kata saudari, yang akan terlihat di output.
Pada contoh kedua, kita telah mengabaikan sensitivitas huruf besar/kecil dengan menggunakan tanda “-I”. Fungsi ini akan mencari kedua kata, dan output akan disorot. Apakah kata 'Aqsha' ditulis dalam huruf kapital atau tidak, grep akan mencari kecocokan yang sama dalam teks di dalam file. Jadi, kedua perintah itu membantu dalam caranya.
$ grep -I 'Aqsha\|adik' file20.txt
Menghitung Banyak Kecocokan dalam File
Fungsi hitung membantu dalam menghitung kemunculan kata atau kata-kata dalam file tertentu. Misalnya, jika Anda ingin tahu tentang kesalahan yang terjadi di sistem. Detailnya dicatat dalam file log. Untuk menyimpan informasi ini di folder tertentu, Anda akan menulis jalur folder. Contoh ini menunjukkan bahwa 71 kesalahan terjadi di file log.
Cari Kecocokan Tepat dalam File
Jika Anda ingin menemukan kecocokan yang tepat di file sistem Anda, Anda perlu menggunakan tanda “-w” untuk mengurutkannya secara akurat. Kami telah mengutip contoh sederhana dan komprehensif. Dalam contoh di bawah ini, pertimbangkan untuk mencari tanpa "-w", perintah ini akan membawa kedua kata yang cocok dengan input yang diberikan. Tetapi dengan penggunaan flag “-w”, pencarian akan dibatasi karena kata-kata yang dimasukkan hanya cocok dengan string pertama. Kata kedua tidak disorot karena "-w" memungkinkan pencocokan akurat dengan polanya.
$ -iw 'hamna\|house' file21.txtDi sini -I juga digunakan untuk menghilangkan sensitivitas huruf besar/kecil dalam pencarian teks.
Seperti yang terlihat di foto, hasilnya tidak sama. Perintah pertama membawa semua data terkait dengan seluruh string, sedangkan perintah kedua menunjukkan bagaimana data yang tepat cocok melalui grep dalam mencari beberapa string.
Grep untuk Lebih dari Satu Pola dalam Jenis Ekstensi File Tertentu
Pencarian dilakukan dalam semua file. Terserah Anda jika Anda mencari dengan memberikan nama file Itu hanya akan mencari di file tertentu. Tetapi dengan memberikan ekstensi file, data akan dicari melalui semua file dengan ekstensi yang sama. Ada dua contoh berbeda untuk menggambarkan hasil terkait. Mempertimbangkan contoh pertama, file kesalahan akan dihitung di semua file dari .ekstensi log. "-c" digunakan untuk menghitung.
$ grep -c 'peringatan\|kesalahan' /var/log/*.catatan
Perintah ini menyiratkan bahwa file akan dicari di semua file dari .ekstensi log. Jumlah kecocokan akan ditampilkan dalam output untuk mendemonstrasikan grep dengan lebih baik dengan ekstensi file tertentu.
Pada contoh kedua, kami telah menggunakan dua kata dalam file kami di Linux dengan ekstensi teks. Semua data akan ditampilkan dalam bentuk angka. 0 menunjukkan tidak ada data yang cocok, sedangkan selain 0 menunjukkan bahwa ada kecocokan.
$ grep -c 'aqsa\|saya' /home/aqsayasin/*.txt
Mencari Beberapa Pola Secara Rekursif dalam File
Secara default, direktori saat ini digunakan jika tidak ada direktori yang disebutkan dalam perintah. Jika Anda ingin mencari di direktori pilihan Anda sendiri, maka Anda harus menyebutkannya. Operator “-r” digunakan untuk grep secara rekursif./home/aqsayasin/ menunjukkan path file, sedangkan *.txt menunjukkan ekstensi. File teks akan menjadi target grep untuk mencari secara rekursif.
$ grep -R 'teknis\|gratis' /home/aqsayasin/*.txt
Output yang diinginkan disorot dalam hasil yang menunjukkan keberadaan kata-kata ini.
Kesimpulan
Dalam artikel yang disebutkan di atas, kami telah mengutip contoh yang berbeda untuk memudahkan pengguna memahami cara kerja perintah untuk mencari beberapa pola di Linux. Panduan ini akan membantu Anda meningkatkan pengetahuan yang ada.