Cara Mengesampingkan Kata dengan grep

Alat baris perintah grep sangat berguna untuk menelusuri data teks untuk garis dan cuplikan yang cocok dengan string, karakter, kata, atau ekspresi reguler yang ditentukan. Meskipun sebagian besar penggunaan grep adalah untuk menyortir data untuk pertandingan sintaks, bagaimana jika Anda ingin mengecualikan kata atau string dengan grep ? Tidak termasuk kecocokan garis dengan grep sama bermanfaatnya seperti mencari dan mencetak kecocokan dalam grep, jadi mari kita bahas cara mengecualikan kecocokan string dan mengecualikan kata dengan grep.


Tentunya Anda akan ingin memiliki beberapa pengalaman baris perintah dan paparan grep untuk menemukan ini berguna. Jika Anda ingin mengikuti, Anda dapat membuka aplikasi Terminal dan mencobanya sendiri. Karena grep adalah utilitas agnostic OS, Anda dapat menggunakan trik exclude di Mac OS, Linux, unix, atau apa pun yang Anda miliki yang menggunakan grep.

Cara Mengecualikan Satu Kata dengan grep

Cara paling sederhana untuk mengecualikan garis dengan string atau pertandingan sintaks adalah dengan menggunakan grep dan -v flag.

Sebagai contoh, katakanlah kita menggunakan kucing untuk mencetak file pada baris perintah, tetapi kami ingin mengecualikan semua baris yang menyertakan istilah "ThisWord", maka sintaksnya akan terlihat sebagai berikut:

cat example.txt | grep -v "ThisWord"

Outputnya akan menjadi file teks example.txt tetapi tidak termasuk baris yang berisi string yang cocok dengan "ThisWord".

Anda juga dapat menggunakan grep langsung pada file dan mengecualikan kecocokan garis berdasarkan kata atau sintaks, seperti:

grep -v "ThisWord" example.txt

Gunakan yang paling sesuai untuk alur kerja khusus Anda.

Cara Mengecualikan Beberapa String atau Kata dengan grep

Sekarang Anda tahu cara mengecualikan kecocokan untuk satu kata, pertanyaan jelas berikutnya adalah mengecualikan beberapa kata dengan grep. Itu sama mudahnya, dan ada beberapa cara berbeda untuk mencapai hal ini dengan menggunakan bendera -v serta bendera-kiri.

Pertama mari kita ambil contoh di atas menggunakan kucing pada file yang disalurkan ke grep, dan kecualikan setiap baris yang cocok dengan dua kata; "Word1" dan "Word2", ini akan terlihat seperti berikut:

cat example.txt | grep -v -e "Word1" -e "Word2"

Setiap baris yang berisi "Word1" atau "Word2" akan dikecualikan dari hasil cetak.

Anda juga dapat menggunakan grep langsung pada file seperti sebelumnya juga:

grep -v -e "Word1" -e "Word2" example.txt

Pendekatan lain adalah memisahkan apa yang dikecualikan dengan grep dengan menggunakan pipa untuk memisahkan setiap pertandingan, seperti:

grep -Ev "word1|word2" example.txt

Jika Anda menguji salah satu dari opsi ini pada contoh file teks, Anda akan menemukan keluarannya sama terlepas dari pendekatan yang Anda ambil, masing-masing mengecualikan baris yang menyertakan frasa, sintaksis, kata, atau kecocokan teks yang ditargetkan.

Hebat, tunjukkan saya contoh yang berguna untuk mengecualikan data dengan grep!

Untuk contoh praktis yang memungkinkan pengguna Mac tingkat lanjut untuk membantu, kita dapat menggunakan pengecualian grep saat mencetak dan menanyakan riwayat baris perintah untuk menemukan perintah yang dijalankan sebelumnya untuk menemukan kecocokan default, tetapi mengecualikan beberapa string default yang dipilih dari output.

Dalam contoh di sini kita akan mencetak sejarah perintah untuk kecocokan string default, tetapi mengecualikan apa pun yang cocok dengan iTunes yang didefinisikan oleh "com.apple.itunes":

history |grep "defaults write" |grep -v -e "com.apple.itunes"

Jadi jika Anda telah mengikuti, ini akan melaporkan kembali semua eksekusi historis dari perintah "default tulis", tetapi tidak termasuk apa pun yang tergolong ke aplikasi iTunes. Bagus ya?

Jika Anda memiliki kegunaan yang sangat berguna dari kecocokan yang tidak cocok dengan grep, bagikan dengan kami di komentar di bawah! Dan jika Anda menikmati artikel ini, Anda hampir pasti suka menelusuri melalui banyak artikel baris perintah kami di sini di mana ada banyak hal lagi untuk dipelajari!