Grep yerine egrep ne zaman kullanılır?


8

Şimdi bir Linux terminal değerlendirmesi için hazırlanıyorum, Google’a çalıştım ve çoğu kaynağın daha güçlü “egrep” yerine temel “grep” e atıfta bulunduğunu gördüm.

Her zaman küçük örneklerle çalışıyorum, bu nedenle performans ayarı çok uzak bir şey.

Yani temelde bilmek isterim ki, daha iyi bir şekilde yapmak için egrep'e geçmem gereken alanlar var mı? Şimdilik temel "grep" ile çalışmak güvenli midir? potansiyel riskler olacak mı?

Linux kabuk komutları konusundaki sınırlı bilgim için üzgünüm, man sayfası bana bir labirent gibi görünüyor ve dürüst olmak gerekirse, her iki komutun da sunduğu tüm özellikleri anlamak için fazla zaman ayırmadım.

Yanıtlar:


10

egrep = grep -E

Gönderen http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html

"Genişletilmiş normal ifadeleri kullanarak eşleştirin. XBD belirtiminde, Genişletilmiş Normal İfadeler'de açıklandığı gibi, her bir ERE olarak belirtilen her bir işleme bakın. Herhangi bir ERE deseni bir girdi satırına uyuyorsa, satır eşleşir. Boş bir ERE her satırla eşleşir."

Yani, egrep ile kullanabilirsiniz +, ?, | and ().


@omfgroflmao: Hepsi bu mu? iyi, şimdi sadece "egrep" komutu hakkında endişelenmeden sadece "grep" derslerine odaklanmak için rahat hissediyorum :) Tavsiyeniz için teşekkürler!

1
Eğer diyoruz İster egrepya grep -E, genişletilmiş düzenli ifadeler genellikle `` çok çıkararak okumak için karmaşık desenler daha kısa ve dolayısıyla daha kolay yapabilirim. Performansla ilgili değil, bir anlamda daha iyi bir yol.
Cascabel

5

egrep kullanımdan kaldırıldı. Kullanın grep -E. Not grepsizin için dize desenlerini bulur. Dizelerinize bulduktan sonra bir şey yapmak istiyorsanız, o zaman awk(veya kabuk) gibi bir dize işleme aracına yöneltmeniz gerekir . Sizin de dikkat etmeniz gereken araç awk, tıpkı awksizin gibi karakterleri bulduğu grepve ihtiyaç duyduğunuzda işlemleri sizin için yaptığı gibi . Tek bir el aletinde grep / sed / etc'in yaptığı her şeye sahiptir.


@ ghostdog74: ahhh, bu yüzden egrep kullanılmaması tavsiye edilir ... grep'in yerine geçtiğini düşündüm ... Tavsiyen için teşekkürler!

2
Sadece kayıt için, birçok makinede, benimki dahil, egrep grep için bir bağlantıdır. Yani, onlar aslında aynı komuttur, ancak onları nasıl adlandırdığınıza bağlı olarak farklı davranırlar.
MJB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.