Bir Word'ü grep ile Hariç Tutma

İçindekiler:

Anonim

Grep komut satırı aracı, tanımlı bir dize, karakter, kelime veya normal ifadeyle eşleşen satırları ve parçacıkları metin verilerinde aramak için son derece kullanışlıdır. Grep'in çoğu kullanımı, sözdizimi eşleşmeleri için verileri sıralamak için olsa da, bunun yerine bir kelimeyi veya dizeyi grep ile hariç tutmak isterseniz ne olur? grep ile satır eşleşmelerini hariç tutmak, grep'te eşleşmeleri bulmak ve yazdırmak kadar yararlıdır, bu yüzden grep ile dize eşleşmelerini ve kelimeleri nasıl hariç tutacağınızı ele alalım.

Açıkçası, bunu faydalı bulmak için biraz komut satırı deneyimi ve grep ile karşılaşmak isteyeceksiniz. Devam etmek isterseniz Terminal uygulamasını açıp kendiniz deneyebilirsiniz. Grep, işletim sisteminden bağımsız bir yardımcı program olduğundan, Mac OS, Linux, unix veya grep kullanan diğer her şeyde hariç tutma numarasını kullanabilirsiniz.

Tek Bir Kelimeyi grep ile Hariç Tutma

Dize veya sözdizimi eşleşmesi olan satırları hariç tutmanın en basit yolu grep ve -v işaretini kullanmaktır.

Örneğin, diyelim ki komut satırında bir dosyayı yazdırmak için cat kullanıyoruz, ancak “ThisWord” terimini içeren tüm satırları hariç tutmak istiyoruz, o zaman sözdizimi aşağıdaki gibi görünecektir:

"

kedi örneği.txt | grep -v BuKelime"

Çıktı, example.txt metin dosyası olacak, ancak “ThisWord” ile eşleşen bir dize içeren herhangi bir satır hariç tutulacaktır.

Ayrıca grep'i doğrudan dosyalarda kullanabilir ve kelimelere veya sözdizimine dayalı satır eşleşmelerini hariç tutabilirsiniz, şöyle:

"

grep -v ThisWord>"

Belirli iş akışınız için en uygun olanı kullanın.

Grep ile Birden Çok Dizeyi veya Sözcüğü Hariç Tutma

Artık tek bir kelime için eşleşmeleri nasıl hariç tutacağınızı bildiğinize göre, bir sonraki bariz soru grep ile birden fazla kelimeyi hariç tutmakla ilgili. Bu da aynı derecede basit ve -v bayrağını ve -e bayrağını kullanarak bunu gerçekleştirmenin birkaç farklı yolu var.

Öncelikle, grep'e aktarılan bir dosyada cat kullanımının yukarıdaki örneğini ele alalım ve iki sözcükle eşleşen tüm satırları hariç tutalım; "Kelime1" ve "Kelime2", bu aşağıdaki gibi görünür:

"

kedi örneği.txt | grep -v -e Word1 -e Word2"

“Word1” veya “Word2” içeren tüm satırlar yazdırılan sonuçlardan çıkarılacaktır.

Grep'i daha önce olduğu gibi doğrudan dosyalarda da kullanabilirsiniz:

"

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

Başka bir yaklaşım, her eşleşmeyi ayırmak için bir boru kullanarak grep ile neyin hariç tutulacağını ayırmaktır, şu şekilde:

"

grep -Ev word1|word2 example.txt"

Bu seçeneklerden herhangi birini örnek bir metin dosyası üzerinde test ederseniz, uyguladığınız yaklaşımdan bağımsız olarak çıktının aynı olduğunu, hedeflenen ifadeleri, sözdizimini, sözcükleri veya metin eşleşmesi.

Harika, bana verileri grep ile hariç tutmanın yararlı bir örneğini göster!

İleri düzey Mac kullanıcılarının yararlı bulabileceği pratik bir örnek için, varsayılan eşleşmeleri bulmak üzere önceden yürütülen komutları bulmak için komut satırı geçmişini yazdırırken ve sorgularken grep dışlamasını kullanabiliriz, ancak seçilen bazı varsayılan dizeleri çıktı.

Buradaki örnekte, varsayılan dize eşleşmeleri için komut geçmişini yazdıracağız, ancak “com.apple.itunes” tarafından tanımlandığı şekilde iTunes ile ilgisi olan herhangi bir eşleşmeyi hariç tutacağız:

"

geçmiş |grep varsayılanları yazma |grep -v -e com.apple.itunes"

Yani, takip ediyorsanız, bu, "varsayılan yazma" komutunun tüm geçmiş uygulamalarını geri bildirir, ancak iTunes uygulamasıyla ilgili olanlar hariçtir. Güzel ha?

Grep ile eşleşmeleri hariç tutmanın özellikle kullanışlı kullanımları varsa, bunları aşağıdaki yorumlarda bizimle paylaşın! Ve bu makaleyi beğendiyseniz, öğrenecek daha çok şeyin olduğu birçok komut satırı makalemize göz atmak isteyeceğinizden neredeyse eminim!

Bir Word'ü grep ile Hariç Tutma