← man/text
bzegrep — man bzegrep — 80×24
ugur@toprak:~/man/text$man bzegrep
Bölüm 1 Metin İşleme

bzegrep

dosya örüntüsü arayıcı

Kullanım

      grep [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C num] [-e pattern] [-f file]
	  [--binary-files=value] [--color[=when]] [--colour[=when]] [--context=num] [--label]
	  [--line-buffered] [--null] [pattern] [file ...]

Açıklama

grep yardımcı aracı, verilen herhangi bir girdi dosyasını arayarak bir veya daha fazla örüntüyle eşleşen satırları seçer. Varsayılan olarak, örüntüdeki düzenli ifade (RE), girdi satırıyla sonundaki yeni satır karakteri olmadan eşleşiyorsa, örüntü girdi satırıyla eşleşir. Boş bir ifade her satırla eşleşir. Örüntülerden en az biriyle eşleşen her girdi satırı standart çıktıya yazılır.

grep, basit örüntüler ve temel düzenli ifadeler (BRE) için kullanılır; egrep ise genişletilmiş düzenli ifadeleri (ERE) işleyebilir. Düzenli ifadeler hakkında daha fazla bilgi için re_format(7) sayfasına bakın. fgrep, hem grep hem de egrep aracından daha hızlıdır, ancak yalnızca sabit örüntüleri işleyebilir (yani düzenli ifadeleri yorumlamaz). Örüntüler bir veya daha fazla satırdan oluşabilir, bu da örüntü satırlarından herhangi birinin girdinin bir bölümüyle eşleşmesine olanak tanır.

zgrep, zegrep ve zfgrep sırasıyla grep, egrep ve fgrep gibi davranır, ancak compress(1) veya gzip(1) sıkıştırma yardımcı araçlarıyla sıkıştırılmış girdi dosyalarını kabul eder. bzgrep, bzegrep ve bzfgrep sırasıyla grep, egrep ve fgrep gibi davranır, ancak bzip2(1) sıkıştırma yardımcı aracıyla sıkıştırılmış girdi dosyalarını kabul eder.

Aşağıdaki seçenekler mevcuttur:

-A num, --after-context=num Her eşleşmeden sonra num satırlık sonraki bağlamı yazdırır. Ayrıca -B ve -C seçeneklerine de bakın.

-a, --text Tüm dosyaları ASCII metni olarak ele alır. Normalde dosyalar ikili (binary) karakterler içeriyorsa grep yalnızca “Binary file ... matches” (İkili dosya ... eşleşiyor) yazdırır. Bu seçeneğin kullanılması, grep'i belirtilen örüntüyle eşleşen satırları çıktı olarak vermeye zorlar.

-B num, --before-context=num Her eşleşmeden önce num satırlık önceki bağlamı yazdırır. Ayrıca -A ve -C seçeneklerine de bakın.

-b, --byte-offset Eşleşen bir örüntünün bayt cinsinden ofseti, ilgili eşleşen satırın önünde görüntülenir.

-C num, --context=num Her eşleşmeyi çevreleyen num satırlık önceki ve sonraki bağlamı yazdırır. Ayrıca -A ve -B seçeneklerine de bakın.

-c, --count Standart çıktıya yalnızca seçilen satırların sayısı yazılır.

--colour=[when], --color=[when] Eşleşen metni, GREP_COLOR ortam değişkeninde saklanan ifade ile işaretler. when için olası değerler “never” (asla), “always” (her zaman) ve “auto” (otomatik) şeklindedir.

-D action, --devices=action Aygıtlar, FIFO'lar ve soketler için talep edilen eylemi belirtir. Varsayılan eylem, normal dosyalarmış gibi okunmaları anlamına gelen “read” (oku) seçeneğidir. Eylem “skip” (atla) olarak ayarlanırsa aygıtlar sessizce atlanır.

-d action, --directories=action Dizinler için talep edilen eylemi belirtir. Varsayılan olarak “read” (oku) seçeneğidir, bu da dizinlerin normal dosyalarla aynı şekilde okunacağı anlamına gelir. Diğer olası değerler; dizinleri sessizce yok saymak için “skip” (atla) ve bunları yinelemeli (recursive) olarak okumak için -R ve -r seçenekleriyle aynı etkiye sahip olan “recurse” (yinele) seçeneğidir.

-E, --extended-regexp Örüntüyü genişletilmiş bir düzenli ifade olarak yorumlar (yani grep'i egrep gibi davranmaya zorlar).

-e pattern, --regexp=pattern Girdinin aranması sırasında kullanılan bir örüntü belirtir: belirtilen örüntülerden herhangi biriyle eşleşen bir girdi satırı seçilir. Bu seçenek en çok, birden fazla örüntü belirtmek için birden fazla -e seçeneği kullanıldığında veya bir örüntü tire işaretiyle (‘-’) başladığında yararlıdır.

--exclude pattern Belirtilirse, verilen dosya adı kalıbıyla eşleşen dosyaları aramadan hariç tutar. --exclude ve --include kalıplarının verilen sırayla işlendiğini unutmayın. Bir ad birden fazla kalıpla eşleşirse, en son eşleşen kural geçerli olur. Herhangi bir --include kalıbı belirtilmezse, hariç tutulmayan tüm dosyalar aranır. Kalıplar yalnızca dosya adı bileşeniyle değil, belirtilen tam yolla eşleştirilir.

--exclude-dir pattern Eğer -R belirtilmişse, verilen dosya adı kalıbıyla eşleşen dizinleri aramadan hariç tutar. --exclude-dir ve --include-dir kalıplarının verilen sırayla işlendiğini unutmayın. Bir ad birden fazla kalıpla eşleşirse, en son eşleşen kural geçerli olur. Herhangi bir --include-dir kalıbı belirtilmezse, hariç tutulmayan tüm dizinler aranır.

-F, --fixed-strings Örüntüyü bir sabit dizgiler kümesi olarak yorumlar (yani grep'i fgrep gibi davranmaya zorlar).

-f file, --file=file file dosyasından yeni satırlarla ayrılmış bir veya daha fazla örüntü okur. Boş örüntü satırları her girdi satırıyla eşleşir. Yeni satırlar bir örüntünün parçası olarak kabul edilmez. Eğer dosya boşsa, hiçbir şey eşleşmez.

-G, --basic-regexp Örüntüyü temel bir düzenli ifade olarak yorumlar (yani grep'i geleneksel grep gibi davranmaya zorlar).

  • -H: Çıktı satırlarıyla birlikte her zaman dosya adı başlıklarını yazdırır.

-h, --no-filename Çıktı satırlarıyla birlikte hiçbir zaman dosya adı başlıklarını (yani dosya adlarını) yazdırmaz.

  • --help: Kısa bir yardım mesajı yazdırır.

  • -I: İkili (binary) dosyaları yoksayar. Bu seçenek “--binary-files=without-match” seçeneğine eşdeğerdir.

-i, --ignore-case Büyük/küçük harfe duyarsız eşleşme gerçekleştirir. Varsayılan olarak grep büyük/küçük harfe duyarlıdır.

--include pattern Belirtilirse, yalnızca verilen dosya adı kalıbıyla eşleşen dosyalar aranır. --include ve --exclude kalıplarının verilen sırayla işlendiğini unutmayın. Bir ad birden fazla kalıpla eşleşirse, en son eşleşen kural geçerli olur. Kalıplar yalnızca dosya adı bileşeniyle değil, belirtilen tam yolla eşleştirilir.

--include-dir pattern Eğer -R belirtilmişse, yalnızca verilen dosya adı kalıbıyla eşleşen dizinler aranır. --include-dir ve --exclude-dir kalıplarının verilen sırayla işlendiğini unutmayın. Bir ad birden fazla kalıpla eşleşirse, en son eşleşen kural geçerli olur.

-J, --bz2decompress Metni aramadan önce bzip2(1) ile sıkıştırılmış dosyanın sıkıştırmasını açar.

-L, --files-without-match Standart çıktıya yalnızca seçilen satırları içermeyen dosyaların adları yazılır. Yol adları, aranan her dosya için bir kez listelenir. Standart girdi aranırsa, bir --label belirtilmedikçe “(standard input)” (standart girdi) dizgisi yazılır.

-l, --files-with-matches Standart çıktıya yalnızca seçilen satırları içeren dosyaların adları yazılır. grep bir dosyayı yalnızca bir eşleşme bulunana kadar arayarak aramaları potansiyel olarak daha az maliyetli hale getirir. Yol adları, aranan her dosya için bir kez listelenir. Standart girdi aranırsa, bir --label belirtilmedikçe “(standard input)” (standart girdi) dizgisi yazılır.

--label Bir dosya adının normalde yazdırılacağı yerlerde “(standard input)” (standart girdi) yerine kullanılacak etiketi belirtir. Bu seçenek -H, -L ve -l için geçerlidir.

  • --mmap: Girdiyi okumak için read(2) yerine mmap(2) kullanır, bu bazı durumlarda daha iyi performans sağlayabilir ancak tanımlanmamış davranışlara neden olabilir.

-M, --lzma Metni aramadan önce LZMA ile sıkıştırılmış dosyanın sıkıştırmasını açar.

-m num, --max-count=num num sayıda eşleşmeden sonra dosyayı okumayı durdurur.

-n, --line-number Her çıktı satırının önüne, dosyada 1. satırdan başlayan göreli satır numarası eklenir. Satır numarası sayacı, işlenen her dosya için sıfırlanır. -c, -L, -l veya -q belirtilmişse bu seçenek yoksayılır.

  • --null: Dosya adından sonra bir sıfır baytı (zero-byte) yazdırır.

  • -O: Eğer -R belirtilmişse, sembolik bağları yalnızca komut satırında açıkça listelenmişlerse takip eder. Varsayılan davranış sembolik bağları takip etmemektir.

-o, --only-matching Satırların yalnızca eşleşen kısmını yazdırır.

  • -p: Eğer -R belirtilmişse, hiçbir sembolik bağ takip edilmez. Varsayılan davranış budur.

-q, --quiet, --silent Sessiz mod: normal çıktıyı bastırır. grep bir dosyayı yalnızca bir eşleşme bulunana kadar arayarak aramaları potansiyel olarak daha az maliyetli hale getirir.

-R, -r, --recursive Listelenen alt dizinleri yinelemeli (recursive) olarak arar (yani grep'i rgrep gibi davranmaya zorlar).

  • -S: Eğer -R belirtilmişse, tüm sembolik bağları takip eder. Varsayılan davranış sembolik bağları takip etmemektir.

-s, --no-messages Sessiz mod. Mevcut olmayan ve okunamayan dosyalar yoksayılır (yani hata mesajları bastırılır).

-U, --binary İkili (binary) dosyaları arar, ancak bunları yazdırmaya çalışmaz.

  • -u: Bu seçeneğin hiçbir etkisi yoktur ve yalnızca GNU grep ile uyumluluk sağlamak amacıyla sunulmuştur.

-V, --version Sürüm bilgisini görüntüler ve çıkış yapar.

-v, --invert-match Seçilen satırlar, belirtilen örüntülerden hiçbirisiyle eşleşmeyen satırlardır.

-w, --word-regexp İfadeyi bir kelime olarak arar (sanki ‘[[:<:]]’ ve ‘[[:>:]]’ ile çevrelenmiş gibi; re_format(7) sayfasına bakın). Eğer -x de belirtilmişse bu seçeneğin hiçbir etkisi yoktur.

-x, --line-regexp Yalnızca sabit bir dizginin veya düzenli ifadenin tamamıyla eşleşen girdi satırları eşleşen satırlar olarak kabul edilir.

  • -y: -i seçeneğine eşdeğerdir. Kullanımdan kaldırılmıştır (eski).

-z, --null-data Girdi ve çıktı verilerini, yeni satır yerine sıfır baytı (zero-byte) ile sonlandırılan satır dizileri olarak ele alır.

-X, --xz Metni aramadan önce xz(1) ile sıkıştırılmış dosyanın sıkıştırmasını açar.

-Z, --decompress grep'i zgrep gibi davranmaya zorlar.

--binary-files=value İkili dosyaların aranmasını ve yazdırılmasını denetler. Seçenekler: binary (varsayılan) İkili dosyaları arar ancak yazdırmaz. without-match İkili dosyaları aramaz. text Tüm dosyaları metin olarak ele alır.

--line-buffered Çıktıyı satır arabellekli (line buffered) olmaya zorlar. Varsayılan olarak çıktı, standart çıktı bir terminal olduğunda satır arabellekli, aksi takdirde blok arabellekli (block buffered) olur.

Herhangi bir dosya argümanı belirtilmezse standart girdi kullanılır. Ayrıca, dosya adının kabul edildiği her yerde standart girdiden okumak için dosya adı yerine “-” kullanılabilir. Bu, hem -f hem de dosya argümanlarını içerir.

Ortam

GREP_OPTIONS Argüman listesinin başına yerleştirilecek varsayılan seçenekleri belirtmek için kullanılabilir. GNU grep uygulamasının aksine, ters eğik çizgi ile kaçış (backslash-escaping) desteklenmez.

Çıkış Durumu

grep yardımcı aracı aşağıdaki değerlerden biriyle çıkış yapar:

0 Bir veya daha fazla satır seçildi. 1 Hiçbir satır seçilmedi.

1 Bir hata oluştu.

Örnekler

     -	 Bir dosyadaki ‘patricia’ örüntüsünün tüm oluşumlarını bulun:

	       $ grep 'patricia' myfile

     -	 Yukarıdakinin aynısı ancak yalnızca tam kelimeleri arar:

	       $ grep -w 'patricia' myfile

     -	 Tam olarak ‘FOO’ örüntüsünün oluşumlarını sayın:

	       $ grep -c FOO myfile

     -	 Yukarıdakinin aynısı ancak büyük/küçük harf durumunu yoksayar:

	       $ grep -c -i FOO myfile

     -	 Bir satırın başındaki ‘.Pp’ örüntüsünün tüm oluşumlarını bulun:

	       $ grep '^\.Pp' myfile

	 Tırnak işaretleri, tüm ifadenin kullanıcının kabuğu (shell) yerine grep tarafından
	 değerlendirilmesini sağlar. Düzeltme işareti ‘^’ satırın başındaki boş dizgiyle eşleşir ve
	 ‘\’ karakteri, aksi takdirde herhangi bir karakterle eşleşecek olan ‘.’ karakterinden kaçar.

     -	 Bir dosyada ‘foo’ veya ‘bar’ kelimelerini içermeyen tüm satırları bulun:

	       $ grep -v -e 'foo' -e 'bar' myfile

     -	 Genişletilmiş düzenli ifadeleri kullanarak 19, 20 veya 25'i aramak için ‘calendar’ dosyasını
	 inceleyin:

	       $ egrep '19|20|25' calendar

     -	 Eşleşen satırları ve ‘FIXME’ örüntüsünü içeren ‘*.h’ dosyalarının adını gösterin. Aramayı
	 /usr/src/sys/arm dizininden itibaren yinelemeli (recursive) olarak yapın

	       $ grep -H -R FIXME --include="*.h" /usr/src/sys/arm/

     -	 Yukarıdakinin aynısı ancak yalnızca eşleşen dosyanın adını gösterir:

	       $ grep -l -R FIXME --include="*.h" /usr/src/sys/arm/

     -	 ‘foo’ metnini içeren satırları gösterin. Çıktının eşleşen kısmı renklendirilir ve
	 eşleşen satırlar için her satırın önüne satır numarası ve dosyadaki ofset eklenir.

	       $ grep -b --colour -n foo myfile

     -	 Standart girdiden okunan genişletilmiş düzenli ifade örüntüleriyle eşleşen satırları gösterin:

	       $ echo -e 'Free\nBSD\nAll.*reserved' | grep -E -f - myfile

     -	 pciconf(8) komutunun çıktısından belirtilen genişletilmiş düzenli ifadeyle eşleşen
	 satırları, üç satırlık önceki bağlam ve bir satırlık sonraki bağlamla birlikte gösterin:

	       $ pciconf -lv | grep -B3 -A1 -E 'class.*=.*storage'

     -	 Herhangi bir çıktıyı bastırın ve uygun bir mesaj göstermek için çıkış durumunu kullanın:

	       $ grep -q foo myfile && echo File matches

Ayrıca Bakınız

bzip2(1), compress(1), ed(1), ex(1), gzip(1), sed(1), xz(1), zgrep(1), re_format(7)

Standartlar

grep yardımcı aracı IEEE Std 1003.1-2008 (“POSIX.1”) spesifikasyonuyla uyumludur.

[-AaBbCDdGHhILmopRSUVw] bayrakları bu spesifikasyona yapılan uzantılardır ve boş bir örüntü dosyasıyla kullanıldığında -f bayrağının davranışı tanımlanmamış olarak bırakılmıştır.

Tüm uzun seçenekler bu yardımcı aracın GNU sürümleriyle uyumluluk amacıyla sağlanmıştır.

grep yardımcı aracının geçmiş sürümleri [-ruy] bayraklarını da destekliyordu. Bu uygulama bu seçenekleri desteklemektedir; ancak bunların kullanılması kesinlikle önerilmez.

Tarihçe

grep komutu ilk olarak Version 6 AT&T UNIX'te ortaya çıkmıştır.

Hatalar

grep yardımcı aracı Unicode girdisini normalleştirmez, bu nedenle birleşik karakterler içeren bir örüntü, ayrıştırılmış girdiyle eşleşmez ve bunun tersi de geçerlidir.

macOS 26.4 10 Kasım 2021 macOS 26.4