grep - grep

grep
Örnek.png
grepKomut örneği
Orijinal yazar(lar) Ken Thompson
Geliştirici(ler) AT&T Bell Laboratuvarları
İlk sürüm Kasım 1973 ; 47 yıl önce ( 1973-11 )
İşletim sistemi Unix , Unix benzeri , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i
platformu Çapraz platform
Tip Emretmek

grepnormal bir ifadeyle eşleşen satırlar için düz metin veri kümelerini aramak için bir komut satırı yardımcı programıdır . Adından gelen ed komutu g / re / s ( g lobally bir arama R egular e XPression ve p Rint uygun hatları aynı etkiye sahiptir). başlangıçta Unix işletim sistemi için geliştirilmiştir , ancak daha sonra tüm Unix benzeri sistemler ve OS-9 gibi diğerleri için kullanılabilir . grep

Tarih

Grep, adlandırılmadan önce, Ken Thompson tarafından belirli kalıplar için dosyaları aramak için yazılmış özel bir yardımcı programdı . Doug McIlroy , varlığından habersiz, Thompson'dan böyle bir program yazmasını istedi. Böyle bir yardımcı programı bir gecede düşüneceğini söyleyen Thompson, aslında hataları düzeltti ve yaklaşık bir saat boyunca iyileştirmeler yaptı. Ertesi gün programı McIlroy'a sundu, o da tam olarak istediğinin bu olduğunu söyledi. Thompson'ın açıklaması, grep'in bir gecede yazıldığı inancını açıklayabilir.

Thompson, Lee E. McMahon'un Federalist Bildirilerin metnini tek tek makalelerin yazarlığını belirlemek için analiz etmesine yardımcı olmak için PDP-11 derleme dilinde ilk sürümü yazdı . Ed metin editörü (ayrıca Thompson tarafından kaleme) vardı düzenli ifade desteği ancak Thompson bağımsız bir araç bu kodu çalışmasından alınmıştır, böylece metnin bu kadar büyük bir miktarına kullanılamadı. Adı seçti çünkü ed'de g/re/p komutu belirtilen bir desenle eşleşen tüm satırları yazdıracaktı. ilk olarak Sürüm 4 Unix'e dahil edilmiştir . O "genelde olarak çağırılır belirten prototipi yazılım aracı", McIlroy yatırıldı Thompson'ın "geri dönülmez kökleşmiş" ile araçları felsefesi Unix içinde. grepgrep

Örnek kullanım

Aşağıdaki örnek, grepfarklı argümanlar verilen komutun çıktısını gösterir.

$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

$ grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin

$ grep -c false /etc/passwd
7

Uygulamalar

grepBirçok işletim sisteminde ve yazılım geliştirme ortamında çeşitli uygulamalar mevcuttur. Erken varyantlar dahil edildi egrepve Sürüm 7 Unix'tefgrep tanıtıldı . " " varyantı, Ken Thompson'ın orijinal düzenli ifade uygulamasından sonra Alfred Aho tarafından eklenen genişletilmiş bir normal ifade sözdizimini destekler . " " varyantı , Aho–Corasick dize eşleştirme algoritmasını kullanarak herhangi bir sabit dize listesini arar . Bu değişkenlerin ikili dosyaları çoğu modern sistemde varlığını sürdürür ve genellikle ; ancak bunun yerine ve komut satırı anahtarlarının kullanılması lehinde bu ikili dosyaların kullanılması kullanımdan kaldırılmıştır . egrepfgrepgrep-E-Fgrep

Diğer komutlar, genellikle normal ifade eşleşmelerine dayanan arama araçları olduklarını belirtmek için "grep" kelimesini içerir. pgrepYarar, örneğin, isimleri verilen bir normal ifadeyle eşleşen süreçleri görüntüler.

In Perl programlama dili, grep yerleşik fonksiyonun adı olduğunu belli özelliğini tatmin liste halinde bulur unsurlar. Bu yüksek dereceden fonksiyonu tipik olarak adlandırılır filterveya wherediğer dillerde.

pcregrepKomut bir uygulamasıdır grepo kullanımların düzenli ifade Perl sözdizimi. Benzer işlevsellik GNU versiyonu çağrılabilir grepile -Pbayrak.

Limanlar arasında grep(içinde Cygwin ve GnuWin32 örneğin) ayrıca altında çalıştırmak Microsoft Windows . Windows'un bazı sürümlerinde benzer qgrepveya findstrkomut bulunur.

Bir grepkomut da bir parçası olan ASCII 'ın MSX-DOS2 Araçları için MSX-DOS sürüm 2.

Grep , egrep ve fgrep komutları da aktarılmış durumdalar i IBM işletim sistemi.

Adobe InDesign yazılımının GREP işlevleri vardır (CS3 sürümünden (2007) beri), bul/değiştir iletişim kutusu "GREP" sekmesinde ve InDesign CS4 ile "GREP stilleri" paragraf stillerinde tanıtılmıştır .

agrep

bir grep (yaklaşık grep), metinarama düzenineyalnızca yaklaşık olarak uysabile eşleşir.

Bu aşağıdaki çağrı, myfile dosyasındaki ağ maskelerini ve aynı zamanda en fazla iki ikame verildiğinde ondan türetilebilecek herhangi bir başka kelimeyi bulur .

agrep -2 netmasks myfile

Bu örnek, en yakın, yani en az ikameye sahip olan eşleşmelerin bir listesini oluşturur. Komut bayrağı B en iyi anlamına gelir :

agrep -B netmasks myfile

fiil olarak kullanımı

Aralık 2003'te Oxford English Dictionary Online , "grep" için hem isim hem de fiil olarak taslak girdiler ekledi.

Yaygın bir fiil kullanımı, "Ölü ağaçları grep yapamazsınız" ifadesidir - bu, bir kişinin basılı bir kopyayla yapabileceğinden grep(yani "ölü ağaçlardan" yapılmış olan) gibi araçlar kullanarak dijital ortamda daha kolay arama yapabileceği anlamına gelir. bu bağlamda kağıt için bir disfemizmdir ). Google ile karşılaştırın .

Ayrıca bakınız

Referanslar

Notlar
  • Alain Magloire (Ağustos 2000). Grep: Bir Kalıp Arama . Evren A.Ş. ISBN 0-595-10039-2.
  • Hume, Andrew Grep savaşları: Stratejik arama girişimi. Peter Collinson, editör, Proceedings of the EUUG Spring 88 Conference , sayfa 237–245, Buntingford, İngiltere, 1988. Avrupa UNIX Kullanıcı Grubu.
  • Michael Hauben ; et al. (Nisan 1997). Netizenler: Usenet ve İnternetin Tarihi ve Etkisi Üzerine (Perspektifler) . Wiley-IEEE Bilgisayar Topluluğu Basını. ISBN'si 978-0-8186-7706-9.

Dış bağlantılar