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

bzfgrep

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 aracı, belirtilen girdi dosyalarını arayarak bir veya daha fazla örüntüyle eşleşen satırları seçer. Varsayılan olarak bir örüntü, örüntüdeki düzenli ifade (regular expression - RE), sonundaki satır sonu karakteri (newline) hariç tutulmuş girdi satırı ile eşleştiğinde o girdi satırıyla eşleşmiş sayılır. Boş bir ifade her satırla eşleşir. Örüntülerin 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'ler) için kullanılır; egrep, genişletilmiş düzenli ifadeleri (ERE'ler) işleyebilir. Düzenli ifadeler hakkında daha fazla bilgi için re_format(7) kılavuzuna 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, böylece örüntü satırlarından herhangi birinin girdinin bir bölümüyle eşleşmesine olanak tanını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 araçlarıyla sıkıştırılmış girdi dosyalarını kabul eder. bzgrep, bzegrep ve bzfgrep de sırasıyla grep, egrep ve fgrep gibi davranır, ancak bzip2(1) sıkıştırma 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 kadar satır bağlamı yazdırır. Ayrıca -B ve -C seçeneklerine bakın.

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

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

-b, --byte-offset Eşleşen örüntünün bayt cinsinden kaydırma değeri (offset), ilgili eşleşen satırın önünde görüntülenir.

-C num, --context=num Her eşleşmeyi çevreleyen num kadar satırlık öncesi ve sonrası bağlamını yazdırır. Ayrıca -A ve -B seçeneklerine 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 vurgular. when için olası değerler “never”, “always” ve “auto”dur.

-D action, --devices=action Cihazlar, FIFO'lar ve soketler için talep edilen eylemi belirtir. Varsayılan eylem “read”dir, yani normal dosyalar gibi okunurlar. Eylem “skip” olarak ayarlanırsa cihazlar sessizce atlanır.

-d action, --directories=action Dizinler için talep edilen eylemi belirtir. Varsayılan olarak “read”dir, yani dizinler normal dosyalarla aynı şekilde okunur. Diğer olası değerler, dizinleri sessizce yok saymak için “skip” ve dizinleri özyinelemeli (recursive) olarak okumak için “recurse”dir; ikincisi -R ve -r seçenekleriyle aynı etkiye sahiptir.

-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 Girdi araması sırasında kullanılacak 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 çok -e seçeneği kullanıldığında veya bir örüntü kısa çizgi ('-') ile başladığında yararlıdır.

--exclude pattern Belirtilirse, verilen dosya adı örüntüsüyle eşleşen dosyaları aramadan hariç tutar. --exclude ve --include örüntülerinin verilen sırayla işlendiğini unutmayın. Bir isim birden fazla örüntüyle eşleşeşirse, en son eşleşen kural geçerli olur. Herhangi bir --include örüntüsü belirtilmemişse, hariç tutulmayan tüm dosyalar aranır. Örüntüler, yalnızca dosya adı bileşeniyle değil, belirtilen tam yolla eşleştirilir.

--exclude-dir pattern -R belirtilmişse, verilen dosya adı örüntüsüyle eşleşen dizinleri aramadan hariç tutar. --exclude-dir ve --include-dir örüntülerinin verilen sırayla işlendiğini unutmayın. Bir isim birden fazla örüntüyle eşleşirse, en son eşleşen kural geçerli olur. Herhangi bir --include-dir örüntüsü belirtilmemişse, hariç tutulmayan tüm dizinler aranır.

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

-f file, --file=file file dosyasından bir veya daha fazla yeni satırla (newline) ayrılmış ö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. file 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 asla 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ı yok sayar. 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ştirme gerçekleştirir. Varsayılan olarak grep büyük/küçük harfe duyarlıdır.

--include pattern Belirtilirse, yalnızca verilen dosya adı örüntüsüyle eşleşen dosyalar aranır.

  • --include ve --exclude örüntülerinin verilen sırayla işlendiğini unutmayın.: Bir isim birden fazla örüntüyle eşleşirse, en son eşleşen kural geçerli olur. Örüntüler, yalnızca dosya adı bileşeniyle değil, belirtilen tam yolla eşleştirilir.

--include-dir pattern -R belirtilmişse, yalnızca verilen dosya adı örüntüsüyle eşleşen dizinler aranır. --include-dir ve --exclude-dir örüntülerinin verilen sırayla işlendiğini unutmayın. Bir isim birden fazla örüntüyle 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ış dosyayı 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 dosya başına bir kez listelenir. Standart girdi aranıyorsa, bir --label belirtilmedikçe “(standard input)” dizisi 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 arar, bu da aramaları potansiyel olarak daha az maliyetli hale getirir. Yol adları, aranan dosya başına bir kez listelenir. Standart girdi aranıyorsa, bir --label belirtilmedikçe “(standard input)” dizisi yazılır.

--label Normalde bir dosya adının yazdırılacağı durumlarda, dosya adı yerine “(standard input)” ifadesinin yerine kullanılacak etiket. 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 performansa yol açabilir ancak tanımlanmamış davranışlara neden olabilir.

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

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

-n, --line-number Her çıktı satırının önüne, dosyadaki 1'den 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 belirtilirse bu seçenek yoksayılır.

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

  • -O: -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: -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 arar, bu da aramaları potansiyel olarak daha az maliyetli hale getirir.

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

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

-s, --no-messages Sessiz mod. Var 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 için sağlanmıştır.

-V, --version Sürüm bilgilerini görüntüler ve çıkar.

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

-w, --word-regexp İfade bir sözcük olarak aranır (sanki ‘[[:<:]]’ ve ‘[[:>:]]’ ile çevrelenmiş gibi; re_format(7) kılavuzuna bakın). -x seçeneği de belirtilmişse bu seçeneğin hiçbir etkisi yoktur.

-x, --line-regexp Yalnızca sabit bir dizinin 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.

-z, --null-data Girdi ve çıktı verilerini, yeni satır (newline) yerine sıfır değerlikli bir bayt (zero-byte) ile sonlandırılmış satır dizileri olarak ele alır.

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

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

--binary-files=value İkili (binary) dosyaların aranmasını ve yazdırılmasını denetler. Seçenekler şunlardır: 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, standart çıktı bir uçbirim (terminal) olduğunda çıktı satır arabellekli, aksi takdirde blok arabellekli (block buffered) olur.

Hiçbir dosya bağımsız değişkeni belirtilmemişse standart girdi kullanılır. Ek olarak, dosya adının kabul edildiği herhangi bir yerde standart girdiden okumak için dosya adı yerine “-” kullanılabilir. Bu, hem -f hem de dosya bağımsız değişkenlerini içerir.

Ortam Değişkenleri

GREP_OPTIONS Bağımsız değişken listesinin başına yerleştirilecek varsayılan seçenekleri belirtmek için kullanılabilir. Ters eğik çizgi ile kaçış (backslash-escaping), GNU grep'teki davranışın aksine desteklenmez.

Çıkış Durumu

grep aracı aşağıdaki değerlerden biriyle çıkar:

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

1 Bir hata oluştu.

Örnekler

     -	Bir dosyadaki tüm ‘patricia’ örüntüsü geçişlerini bulma:

	       $ grep 'patricia' myfile

     -	Yukarıdakiyle aynı, ancak yalnızca tam sözcükleri arama:

	       $ grep -w 'patricia' myfile

     -	Tam olarak ‘FOO’ örüntüsünün geçişlerini sayma:

	       $ grep -c FOO myfile

     -	Yukarıdakiyle aynı, ancak büyük/küçük harfi yoksayarak:

	       $ grep -c -i FOO myfile

     -	Bir satırın başındaki tüm ‘.Pp’ örüntüsü geçişlerini bulma:

	       $ grep '^\.Pp' myfile

	 Kesme işaretleri (apostrof), ifadenin tamamının kullanıcının kabuğu (shell) yerine grep tarafından
	 değerlendirilmesini sağlar. Düzeltme işareti ‘^’, satır başındaki boş diziyi eşleştirir ve ‘\’
	 karakteri, aksi takdirde herhangi bir karakterle eşleşecek olan ‘.’ karakterini kaçış karakteriyle korur.

     -	Bir dosyadaki ‘foo’ veya ‘bar’ sözcüklerini içermeyen tüm satırları bulma:

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

     -	Genişletilmiş düzenli ifadeleri kullanarak ‘calendar’ dosyasında 19, 20 veya 25 değerlerini
	 inceleme:

	       $ 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österme. Aramayı
	 /usr/src/sys/arm dizininden itibaren özyinelemeli olarak yapın:

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

     -	Yukarıdakiyle aynı, ancak yalnızca eşleşen dosyanın adını gösterme:

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

     -	‘foo’ metnini içeren satırları gösterme. Çı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 kaydırma değeri eklenir.

	       $ grep -b --colour -n foo myfile

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

	       $ 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ır öncesi bağlam ve bir satır sonrası bağlam ile birlikte gösterme:

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

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

	       $ 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 aracı, IEEE Std 1003.1-2008 (“POSIX.1”) belirtimi ile uyumludur.

[-AaBbCDdGHhILmopRSUVw] bayrakları bu belirtimin uzantılarıdır ve boş bir örüntü dosyası ile kullanıldığında -f bayrağının davranışı tanımlanmamış olarak bırakılmıştır.

Tüm uzun seçenekler, bu aracın GNU sürümleriyle uyumluluk için sağlanmıştır.

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

Geçmiş

grep komutu ilk olarak Version 6 AT&T UNIX sürümünde ortaya çıkmıştır.

Hatalar

grep aracı Unicode girdiyi normalize etmez, bu nedenle birleşik (composed) karakterler içeren bir örüntü, ayrıştırılmış (decomposed) girdiyle eşleşmez ve bunun tersi de geçerlidir.

macOS 26.4 November 10, 2021 macOS 26.4