grep - grep
Orijinal yazar(lar) | Ken Thompson |
---|---|
Geliştirici(ler) | AT&T Bell Laboratuvarları |
İlk sürüm | Kasım 1973 |
İşletim sistemi | Unix , Unix benzeri , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i |
platformu | Çapraz platform |
Tip | Emretmek |
grep
normal 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.
grep
grep
Örnek kullanım
Aşağıdaki örnek, grep
farklı 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
grep
Birçok işletim sisteminde ve yazılım geliştirme ortamında çeşitli uygulamalar mevcuttur. Erken varyantlar dahil edildi egrep
ve 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 .
egrep
fgrep
grep
-E
-F
grep
Diğer komutlar, genellikle normal ifade eşleşmelerine dayanan arama araçları olduklarını belirtmek için "grep" kelimesini içerir. pgrep
Yarar, ö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 filter
veya where
diğer dillerde.
pcregrep
Komut bir uygulamasıdır grep
o kullanımların düzenli ifade Perl sözdizimi. Benzer işlevsellik GNU versiyonu çağrılabilir grep
ile -P
bayrak.
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 qgrep
veya findstr
komut bulunur.
Bir grep
komut 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
- Boyer-Moore dizi arama algoritması
- agrep , yaklaşık bir dize eşleştirme komutu
-
find (Windows) , metin aramaları gerçekleştiren bir DOS ve Windows komutudur.
grep
-
find (Unix) , dosyaları özniteliklerine göre bulan bir Unix komutudur.
grep
- Unix komutlarının listesi
-
vgrep veya "görsel
grep
" - ngrep , ağ grep
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
- GNU Grep resmi web sitesi
- GNU Grep kılavuzu
- Plan 9 Programcı El Kitabı, Cilt 1 –
- Inferno Genel komutları Manuel –
- "GNU grep neden hızlıdır" - GNU grep'in yazarından uygulama ayrıntıları.
- Command Grep – 25 pratik örnek