![Tanggal & Waktu Rilis "Spiderhead": Di Mana Menontonnya Secara Online?](/f/6fae37b12e67f981ec2a7f0745642cc9.jpg?width=100&height=100)
Singkat: Dalam panduan ramah-pemula ini, kita akan membahas beberapa contoh praktis dari perintah fgrep. Di akhir panduan ini, pengguna akan dapat melakukan operasi pencarian teks secara efisien menggunakan antarmuka baris perintah.
Pencarian teks adalah salah satu operasi yang paling umum dilakukan. Namun, tugas sederhana ini dengan cepat memakan waktu jika pengguna tidak terbiasa dengan alat yang benar. Di Linux, ada berbagai utilitas pemfilteran teks seperti awk, sed, memotong, dll.
Namun, di Linux, fgrep adalah utilitas yang paling disukai untuk pencarian teks sederhana. Dalam panduan ini, kita akan membahas beberapa contoh praktik dari fgrep perintah yang dapat digunakan dalam kehidupan sehari-hari.
Itu fgrep perintah di Linux berada di bawah keluarga perintah grep. Namun, ini digunakan untuk mencari pola string tetap, bukan ekspresi reguler. Oleh karena itu nama perintahnya adalah fgrep (GREP tetap).
Sintaks dari fgrep perintahnya mirip dengan yang lain perintah keluarga grep:
$ fgrep [PILIHAN] POLA [FILE]
Untuk memulai, mari buat file teks biasa dengan konten berikut untuk menggunakan contoh:
$ cat input.txt.
Di sini, kita dapat melihat bahwa file teks sudah siap dengan konten sampel. Sekarang mari kita bahas beberapa contoh umum dari fgrep perintah dalam beberapa contoh berikutnya.
Seperti namanya, the fgrep perintah digunakan untuk mencari pola string tetap. Itu menafsirkan pola sebagai string tetap, bukan ekspresi reguler. Karenanya ia melakukan operasi pencarian dengan cara yang efisien waktu.
Untuk memahami perbedaannya, mari gunakan titik (.)
karakter dengan perintah grep.
Ekspresi reguler sederhana ini cocok dengan karakter tunggal apa pun kecuali untuk akhir baris:
$ grep ha. input.txt.
Pada output di atas, kita dapat melihat bahwa titik (.)
karakter sesuai dengan teks har, topi, Dan memiliki.
Sekarang, mari kita gunakan pola yang sama dengan fgrep perintah dan amati hasilnya:
$fgrep ha. input.txt.
Pada output di atas, kita dapat melihat bahwa perintah gagal menemukan pola yang diberikan.
Hal ini terjadi karena fgrep perintah tidak mengenali ekspresi reguler dan mencoba mencari pola yang tidak ada – "Ha."
.
[Anda mungkin juga menyukai: Apa Perbedaan Antara Grep, Egrep, dan Fgrep di Linux? ]
Mari kita mulai dengan contoh dasar di mana kita akan mencari profesional string dalam sebuah input.txt mengajukan:
$ fgrep professional input.txt.
Seperti yang bisa kita lihat, pencocokan pola berhasil di dua tempat dan disorot dalam warna merah.
Pada contoh sebelumnya, kita melihat bahwa, secara default, pola yang cocok disorot dengan warna merah. Namun, kita dapat mengubah perilaku ini dengan menetapkan nilai yang berbeda ke GREP_COLOR
variabel lingkungan.
Mari kita tetapkan nilainya 32 ke GREP_COLOR
variabel lingkungan untuk menyorot pola yang cocok dalam warna hijau:
$ ekspor GREP_COLOR=32. $ fgrep professional input.txt.
Sekarang, sebelum pindah ke contoh berikutnya, unset the GREP_COLOR variabel lingkungan untuk mengaktifkan perilaku default:
$ batalkan GREP_COLOR.
Terkadang, kita perlu melakukan pencocokan pola untuk banyak string. Dalam kasus seperti itu, kami dapat memberikan pola dari file teks alih-alih argumen baris perintah.
Mari buat file teks yang berisi banyak pola pada baris terpisah:
$ pola kucing.txt profesional. situs web
Sekarang, mari kita gunakan file ini dengan -F
opsi untuk pencocokan beberapa pola:
$ fgrep -f pattern.txt masukan.txt.
Pada output di atas, kita dapat melihat bahwa pencocokan pola berhasil untuk string profesional Dan situs web.
Secara default, fgrep perintah terus melakukan pencocokan pola hingga seluruh file diproses.
Namun, terkadang kami perlu membatasi jumlah pertandingan. Dalam kasus seperti itu, kita dapat menggunakan the -M
pilihan dengan perintah:
$ fgrep -m 1 professional input.txt TecMint dimulai pada 15 Agustus 2012 oleh technical profesional dan semua.
Dalam contoh ini, fgrep perintah menghentikan pemrosesan file setelah mencocokkan pola pertama.
Terkadang, kita hanya perlu menemukan nama file yang memiliki pola tertentu. Dalam kasus seperti itu, kita dapat menggunakan the -l
pilihan dari fgrep memerintah:
$ fgrep -l profesional masukan.txt input.txt
Di sini, kita dapat melihat bahwa perintah tersebut hanya mencetak nama file, bukan baris dengan pola yang cocok.
Pada contoh sebelumnya, kita melihat cara mencetak nama file saat pencocokan pola berhasil. Sekarang, mari kita lihat bagaimana melakukan operasi secara terbalik.
Mari kita coba temukan pola yang tidak ada di file dan amati hasilnya:
$ fgrep -L input.txt kata tidak ada input.txt
Dalam contoh ini, kami menggunakan -L
opsi perintah yang mencetak nama file saat pencocokan pola tidak berhasil.
Penanganan kesalahan memainkan peran penting saat menulis skrip shell. Namun, dalam beberapa skenario tidak penting, kami dapat mengabaikan pesan kesalahan dengan aman.
Di dalam fgrep, kita dapat menggunakan -S
opsi yang menekan kesalahan yang terkait dengan file yang tidak ada atau tidak dapat dibaca. Untuk memahami perilaku ini dengan lebih baik, mari kita coba mencari pola di file yang tidak ada:
$ fgrep -s professional file.txt yang tidak ada. $ gema $? 2
Pada output di atas, kita dapat melihat bahwa perintah tidak menampilkan kesalahan apa pun pada aliran kesalahan standar. Namun, kegagalan dilaporkan oleh nilai pengembalian bukan nol.
Selain itu, kami juga dapat mengamati perilaku yang sama saat file tidak dapat dibaca. Jadi, pertama, ubah izin file menggunakan chmod memerintah:
$ chmod 000 input.txt $ ls -l input.txt.
Sekarang, coba cari polanya dan amati hasilnya:
$ fgrep -s profesional input.txt $ echo $?
Pada contoh sebelumnya, kita melihat bahwa fgrep perintah melakukan pencocokan parsial. Namun, dalam beberapa kasus, kami perlu melakukan pencocokan persis untuk seluruh baris. Dalam kasus seperti itu, kita dapat menggunakan the -X
pilihan dari fgrep memerintah.
$ fgrep -nx "situs yang sama terkadang sulit ditemukan." input.txt.
Pada keluaran di atas, pencocokan garis persis terjadi pada nomor baris 20.
Terkadang, kita perlu melewatkan file tertentu saat melakukan operasi pencarian. Dalam kasus seperti itu, kita dapat menggunakan the --mengecualikan
pilihan dari fgrep memerintah.
Untuk memahami ini, pertama buat direktori dan salin beberapa file contoh ke dalamnya:
$ mkdir dir-1. $ cp input.txt dir-1/input.txt. $ cp input.txt dir-1/input.data. $ cp input.txt dir-1/input.md
Sekarang, mari cari pola di semua file dir-1 direktori kecuali ".txt"
file:
$ fgrep -r --exclude *.txt professional dir-1.
Pada output di atas, kita dapat melihat bahwa pencocokan pola dilakukan pada file dengan “.md”
Dan ".data"
ekstensi.
Pada contoh sebelumnya, kita melihat cara mengecualikan file dengan ekstensi tertentu. Namun, perintah menjadi panjang saat kita ingin mengecualikan file dengan banyak ekstensi. Dalam kasus seperti itu, kami dapat memberikan pola pengecualian dari file alih-alih argumen baris perintah:
Jadi, mari buat file teks yang berisi beberapa pola pengecualian pada baris terpisah:
$ kucing lewati-pattern.txt *.txt. *.data.
Sekarang, mari kita gunakan file ini dengan --kecualikan-dari
pilihan:
$ fgrep -r --exclude-from skip-pattern.txt professional dir-1.
Di sini, kita dapat melihat bahwa pencocokan pola dilakukan pada file dengan “.md”
ekstensi saja.
Pada contoh sebelumnya, kita melihat cara mengecualikan file saat melakukan operasi pencarian secara rekursif. Sekarang, mari kita lihat bagaimana melakukan operasi secara terbalik.
Mari gunakan --termasuk
pilihan dari fgrep perintah untuk melakukan pencarian pada file dengan "*.txt"
perpanjangan:
$ fgrep -r --include "*.txt" dir-1 profesional.
Pada output di atas, kita dapat melihat bahwa pencocokan pola dilewati untuk file dengan “*.md”
Dan "*.data"
ekstensi.
Pada artikel ini, kami membahas beberapa contoh berguna dari fgrep memerintah. Pemula dapat menggunakan contoh ini dalam kehidupan sehari-hari untuk meningkatkan produktivitas saat bekerja dengan Linux.
Apakah Anda mengetahui contoh terbaik lainnya dari perintah fgrep di Linux? Beri tahu kami pandangan Anda di komentar di bawah.