{"id":27642,"date":"2025-08-17T00:10:24","date_gmt":"2025-08-16T21:10:24","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/"},"modified":"2025-09-01T18:43:34","modified_gmt":"2025-09-01T15:43:34","slug":"dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/","title":{"rendered":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r"},"content":{"rendered":"<p># grep ile Dosyada Son Olu\u015fumu \u00c7\u0131karma: Tam Bir K\u0131lavuz<\/p>\n<p>Bir log dosyas\u0131nda en son hata mesaj\u0131n\u0131 m\u0131 bulmaya \u00e7al\u0131\u015f\u0131yorsunuz? Ya da b\u00fcy\u00fck bir konfig\u00fcrasyon dosyas\u0131nda son tan\u0131mlanan bir de\u011fi\u015fkeni mi ar\u0131yorsunuz?  <code class=\"language-\">grep<\/code> komutu, Linux ve benzeri sistemlerde metin aramada en g\u00fc\u00e7l\u00fc ara\u00e7lardan biri olsa da, dosya i\u00e7indeki *son* olu\u015fumu bulmak ilk bak\u0131\u015fta zor g\u00f6r\u00fcnebilir. Bu makale, <code class=\"language-\">grep<\/code> komutunu kullanarak dosya i\u00e7indeki bir kal\u0131b\u0131n son olu\u015fumunu nas\u0131l etkili ve verimli bir \u015fekilde \u00e7\u0131karaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.  <code class=\"language-\">grep<\/code>&#8216;in g\u00fcc\u00fcnden tam olarak faydalanmay\u0131 \u00f6\u011frenmek i\u00e7in okumaya devam edin.<\/p>\n<p><strong>grep ile Son Olu\u015fumu Bulmak: Temel Kavramlar<\/strong><\/p>\n<p><code class=\"language-\">grep<\/code> komutu, verilen bir kal\u0131b\u0131 bir veya daha fazla dosyada arayan ve e\u015fle\u015fmeleri standart \u00e7\u0131kt\u0131ya yazd\u0131ran bir komut sat\u0131r\u0131 arac\u0131d\u0131r.  Temel kullan\u0131m \u015fekli \u015f\u00f6yledir: <code class=\"language-\">grep \"kal\u0131p\" dosya_adi<\/code>.  Ancak, varsay\u0131lan olarak <code class=\"language-\">grep<\/code> t\u00fcm e\u015fle\u015fmeleri listeler. Bizim amac\u0131m\u0131z ise sadece *son* e\u015fle\u015fmeyi bulmak.  Bunun i\u00e7in <code class=\"language-\">grep<\/code>&#8216;in baz\u0131 ileri d\u00fczey \u00f6zelliklerini ve di\u011fer komutlarla birle\u015ftirmeyi \u00f6\u011frenmemiz gerekecek.<\/p>\n<p>\u00d6ncelikle, <code class=\"language-\">grep<\/code>&#8216;in temel se\u00e7eneklerini anlamak \u00f6nemlidir. \u00d6rne\u011fin <code class=\"language-\">-n<\/code> se\u00e7ene\u011fi, her e\u015fle\u015fmenin sat\u0131r numaras\u0131n\u0131 g\u00f6sterirken, <code class=\"language-\">-l<\/code> se\u00e7ene\u011fi sadece e\u015fle\u015fmeyi i\u00e7eren dosyalar\u0131n ad\u0131n\u0131 listeler.  Bu se\u00e7enekler, son olu\u015fumu bulma yolculu\u011fumuzda bize yard\u0131mc\u0131 olacakt\u0131r.  Ayr\u0131ca <code class=\"language-\">tail<\/code> komutu, dosyan\u0131n son sat\u0131rlar\u0131n\u0131 g\u00f6r\u00fcnt\u00fclememize olanak tan\u0131r ve bu da son e\u015fle\u015fmeyi bulmak i\u00e7in kritik bir rol oynayacakt\u0131r.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r? Ad\u0131m Ad\u0131m Uygulamal\u0131 K\u0131lavuz (Yeni Ba\u015flayanlar)<\/strong><\/p>\n<p>Yeni ba\u015flayanlar i\u00e7in en basit yakla\u015f\u0131m, \u00f6nce <code class=\"language-\">grep<\/code> ile t\u00fcm e\u015fle\u015fmeleri bulmak, sonra <code class=\"language-\">tail<\/code> ile son sat\u0131r\u0131 almak olacakt\u0131r.  A\u015fa\u011f\u0131daki \u00f6rnekte, &#8220;hata&#8221; kelimesinin son olu\u015fumunu &#8220;log.txt&#8221; dosyas\u0131nda bulmay\u0131 hedefliyoruz:<\/p>\n<pre class=\"language-bash\"><code>grep &quot;hata&quot; log.txt | tail -n 1<\/code><\/pre>\n<p>Bu komut, \u00f6nce &#8220;hata&#8221; kelimesini i\u00e7eren t\u00fcm sat\u0131rlar\u0131 bulur (<code class=\"language-\">grep \"hata\" log.txt<\/code>), ard\u0131ndan bu sat\u0131rlar\u0131n sonuncusunu g\u00f6r\u00fcnt\u00fcler (<code class=\"language-\">tail -n 1<\/code>).  Bu y\u00f6ntem, dosya k\u00fc\u00e7\u00fck oldu\u011funda olduk\u00e7a etkilidir.  Ancak b\u00fcy\u00fck dosyalar i\u00e7in performans sorunlar\u0131na yol a\u00e7abilir.  \u00c7\u00fcnk\u00fc t\u00fcm dosya taran\u0131r ve t\u00fcm e\u015fle\u015fmeler bellekte tutulur.<\/p>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi ve Optimizasyon \u0130pu\u00e7lar\u0131 (Orta Seviye)<\/strong><\/p>\n<p>Diyelim ki bir web sunucusunun log dosyas\u0131nda (\u00f6rne\u011fin, <code class=\"language-\">access.log<\/code>) belirli bir IP adresinden gelen son eri\u015fim giri\u015fini bulmak istiyoruz.  Dosya olduk\u00e7a b\u00fcy\u00fck olabilir.  Bu durumda, yukar\u0131daki y\u00f6ntem performans a\u00e7\u0131s\u0131ndan verimsiz olacakt\u0131r.<\/p>\n<p>Daha etkili bir yakla\u015f\u0131m, <code class=\"language-\">tac<\/code> komutunu kullanmakt\u0131r. <code class=\"language-\">tac<\/code> komutu, bir dosyay\u0131 ters s\u0131rada (son sat\u0131rdan ilk sat\u0131ra) g\u00f6r\u00fcnt\u00fcler.  Bu sayede, <code class=\"language-\">grep<\/code>&#8216;in sadece dosyan\u0131n sonundan ba\u015flayarak arama yapmas\u0131n\u0131 sa\u011flayabiliriz ve ilk e\u015fle\u015fmeyi buldu\u011funda i\u015flemi durdurabiliriz.<\/p>\n<pre class=\"language-bash\"><code>tac access.log | grep &quot;192.168.1.100&quot; | head -n 1<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">access.log<\/code> dosyas\u0131n\u0131 ters s\u0131rada okur (<code class=\"language-\">tac<\/code>), &#8220;192.168.1.100&#8221; IP adresini i\u00e7eren sat\u0131r\u0131 arar (<code class=\"language-\">grep<\/code>) ve ilk e\u015fle\u015fmeyi al\u0131r (<code class=\"language-\">head -n 1<\/code>).  Bu y\u00f6ntem, b\u00fcy\u00fck dosyalarda \u00f6nemli bir performans art\u0131\u015f\u0131 sa\u011flar \u00e7\u00fcnk\u00fc dosyan\u0131n tamam\u0131n\u0131 okumak zorunda kalmaz.<\/p>\n<p><strong>Performans Analizi ve Edge Case&#8217;ler (\u0130leri Seviye)<\/strong><\/p>\n<p>Performans optimizasyonu i\u00e7in, \u00f6zellikle \u00e7ok b\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken, <code class=\"language-\">grep<\/code>&#8216;in <code class=\"language-\">-m<\/code> se\u00e7ene\u011fini kullanabiliriz.  <code class=\"language-\">-m<\/code> se\u00e7ene\u011fi, belirtilen say\u0131da e\u015fle\u015fmeden sonra aramay\u0131 durdurur.  Bizim durumumuzda, sadece bir e\u015fle\u015fmeye ihtiyac\u0131m\u0131z oldu\u011fu i\u00e7in <code class=\"language-\">-m 1<\/code> kullanabiliriz.<\/p>\n<pre class=\"language-bash\"><code>tac access.log | grep -m 1 &quot;192.168.1.100&quot;<\/code><\/pre>\n<p>Bu, <code class=\"language-\">head -n 1<\/code> komutuna gerek kalmadan daha temiz ve h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcm sunar.  Ancak, <code class=\"language-\">tac<\/code> komutu dosyay\u0131 belle\u011fe y\u00fckledi\u011fi i\u00e7in \u00e7ok b\u00fcy\u00fck dosyalarda hala sorunlar ya\u015fayabilirsiniz.  Bu gibi durumlarda, daha geli\u015fmi\u015f ara\u00e7lar veya programlama dilleri kullanmak gerekebilir.  \u00d6rne\u011fin, <code class=\"language-\">awk<\/code> veya <code class=\"language-\">perl<\/code> gibi ara\u00e7lar, daha \u00f6zelle\u015ftirilmi\u015f ve performans odakl\u0131 \u00e7\u00f6z\u00fcmler sunabilir.<\/p>\n<p><strong>grep ile Son Olu\u015fumu Bulman\u0131n Farkl\u0131 Yollar\u0131:  Vaka Analizleri<\/strong><\/p>\n<p><strong>Vaka 1: \u00c7oklu Dosyalarda Arama:<\/strong> Birden fazla log dosyas\u0131nda son hata mesaj\u0131n\u0131 bulmak istiyorsak, <code class=\"language-\">grep<\/code>&#8216;in <code class=\"language-\">-r<\/code> (recursive) se\u00e7ene\u011fini kullanabiliriz.  Bu se\u00e7enek, belirtilen dizindeki t\u00fcm dosyalar\u0131 rekursif olarak arar.  Sonucu yine <code class=\"language-\">tac<\/code> ve <code class=\"language-\">grep<\/code> ile filtreleyebiliriz.<\/p>\n<p><strong>Vaka 2: Karma\u015f\u0131k Kal\u0131plar:<\/strong>  E\u011fer daha karma\u015f\u0131k bir kal\u0131p ar\u0131yorsak, d\u00fczenli ifadeler (<code class=\"language-\">regex<\/code>) kullanabiliriz.  <code class=\"language-\">grep<\/code> d\u00fczenli ifadeleri destekler.  \u00d6rne\u011fin, belirli bir tarih format\u0131n\u0131 i\u00e7eren son log giri\u015fini bulmak i\u00e7in karma\u015f\u0131k bir d\u00fczenli ifade kullanabiliriz.<\/p>\n<p><strong>Vaka 3:  \u00c7ok B\u00fcy\u00fck Dosyalar:<\/strong>  \u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in, <code class=\"language-\">ripgrep<\/code> (rg) gibi daha h\u0131zl\u0131 ve daha verimli alternatif ara\u00e7lar\u0131 kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. <code class=\"language-\">ripgrep<\/code>, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in optimize edilmi\u015ftir ve <code class=\"language-\">grep<\/code>&#8216;ten \u00e7ok daha h\u0131zl\u0131 \u00e7al\u0131\u015fabilir.  Bu ara\u00e7,  [https:\/\/github.com\/BurntSushi\/ripgrep](https:\/\/github.com\/BurntSushi\/ripgrep) adresinden indirilebilir.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong> <code class=\"language-\">grep \"kal\u0131p\" dosya_adi | tail -n 1<\/code>  komutu ile basit bir arama yapmay\u0131 \u00f6\u011frenin.  <code class=\"language-\">tail<\/code> ve <code class=\"language-\">grep<\/code> komutlar\u0131n\u0131n temel i\u015flevlerini anlay\u0131n.<\/p>\n<p><strong>Orta Seviye:<\/strong> <code class=\"language-\">tac<\/code> komutunu kullanarak performans\u0131 art\u0131r\u0131n.  Ger\u00e7ek d\u00fcnya \u00f6rneklerini inceleyin ve farkl\u0131 dosya t\u00fcrlerinde nas\u0131l uygulanaca\u011f\u0131n\u0131 \u00f6\u011frenin.  <code class=\"language-\">grep<\/code>&#8216;in <code class=\"language-\">-n<\/code>, <code class=\"language-\">-l<\/code>, <code class=\"language-\">-r<\/code> gibi se\u00e7eneklerini deneyin.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong> <code class=\"language-\">grep<\/code>&#8216;in <code class=\"language-\">-m<\/code> se\u00e7ene\u011fini kullanarak performans\u0131 optimize edin. D\u00fczenli ifadeler ile karma\u015f\u0131k kal\u0131plar aray\u0131n.  <code class=\"language-\">ripgrep<\/code> gibi alternatif ara\u00e7lar\u0131 ke\u015ffedin ve performans kar\u015f\u0131la\u015ft\u0131rmalar\u0131 yap\u0131n. B\u00fcy\u00fck dosyalardaki performans sorunlar\u0131n\u0131 ele al\u0131n ve \u00e7\u00f6z\u00fcm yollar\u0131 bulun.  Farkl\u0131 senaryolar i\u00e7in en uygun y\u00f6ntemi belirleyin.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, <code class=\"language-\">grep<\/code> komutunu kullanarak dosyada son olu\u015fumu bulman\u0131n \u00e7e\u015fitli y\u00f6ntemlerini inceledik.  Basit y\u00f6ntemlerden ileri d\u00fczey optimizasyon tekniklerine kadar geni\u015f bir yelpazede \u00e7\u00f6z\u00fcmler sunduk.  Hangi y\u00f6ntemin sizin i\u00e7in en uygun olaca\u011f\u0131, dosya boyutuna, kal\u0131p karma\u015f\u0131kl\u0131\u011f\u0131na ve performans gereksinimlerinize ba\u011fl\u0131d\u0131r.  Unutmay\u0131n ki,  <code class=\"language-\">grep<\/code> g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r, ancak her zaman en h\u0131zl\u0131 veya en verimli \u00e7\u00f6z\u00fcm olmayabilir.  B\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken alternatif ara\u00e7lar\u0131 de\u011ferlendirmeyi unutmay\u0131n.  Umar\u0131m bu k\u0131lavuz, <code class=\"language-\">grep<\/code> yeteneklerinizi geli\u015ftirmenize yard\u0131mc\u0131 olmu\u015ftur.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">grep<\/code> komutu hangi i\u015fletim sistemlerinde \u00e7al\u0131\u015f\u0131r?<\/strong>  <code class=\"language-\">grep<\/code> komutu, Linux, macOS ve di\u011fer Unix benzeri sistemlerde \u00e7al\u0131\u015f\u0131r. Windows&#8217;ta da Cygwin veya Git Bash gibi ara\u00e7lar kullan\u0131larak \u00e7al\u0131\u015ft\u0131r\u0131labilir.<\/p>\n<p>2. <strong>\u00c7ok b\u00fcy\u00fck dosyalarda performans sorunlar\u0131yla nas\u0131l ba\u015fa \u00e7\u0131kabilirim?<\/strong>  \u00c7ok b\u00fcy\u00fck dosyalarda <code class=\"language-\">tac<\/code> ve <code class=\"language-\">grep -m 1<\/code> kombinasyonunu kullan\u0131n veya <code class=\"language-\">ripgrep<\/code> gibi daha h\u0131zl\u0131 alternatif ara\u00e7lar\u0131 deneyin.  Gerekirse, programlama dilleri kullanarak daha \u00f6zelle\u015ftirilmi\u015f \u00e7\u00f6z\u00fcmler geli\u015ftirebilirsiniz.<\/p>\n<p>3. <strong>D\u00fczenli ifadeler nas\u0131l kullan\u0131l\u0131r?<\/strong>  <code class=\"language-\">grep<\/code> komutu, d\u00fczenli ifadeleri destekler.  D\u00fczenli ifadeler, karma\u015f\u0131k kal\u0131plar\u0131 tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r ve <code class=\"language-\">grep<\/code> komutunda <code class=\"language-\">-E<\/code> se\u00e7ene\u011fi ile kullan\u0131l\u0131r.  \u00d6rne\u011fin, <code class=\"language-\">grep -E \"kal\u0131p1|kal\u0131p2\" dosya_adi<\/code> komutu, &#8220;kal\u0131p1&#8221; veya &#8220;kal\u0131p2&#8221; kal\u0131plar\u0131ndan herhangi birini i\u00e7eren sat\u0131rlar\u0131 bulur.<\/p>\n<p>4. <strong><code class=\"language-\">grep<\/code>&#8216;in di\u011fer yararl\u0131 se\u00e7enekleri nelerdir?<\/strong>  <code class=\"language-\">grep<\/code>&#8216;in bir\u00e7ok yararl\u0131 se\u00e7ene\u011fi vard\u0131r.  Bunlardan baz\u0131lar\u0131 <code class=\"language-\">-i<\/code> (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131z arama), <code class=\"language-\">-v<\/code> (e\u015fle\u015fmeyen sat\u0131rlar\u0131 g\u00f6ster), <code class=\"language-\">-c<\/code> (e\u015fle\u015fme say\u0131s\u0131n\u0131 g\u00f6ster) ve <code class=\"language-\">-o<\/code> (sadece e\u015fle\u015fen b\u00f6l\u00fcmleri g\u00f6ster) se\u00e7enekleridir.<\/p>\n<p>5. <strong><code class=\"language-\">ripgrep<\/code>&#8216;i nas\u0131l kullanabilirim?<\/strong>  <code class=\"language-\">ripgrep<\/code>&#8216;i kullanmak i\u00e7in \u00f6ncelikle kurman\u0131z gerekir.  Ard\u0131ndan, <code class=\"language-\">rg \"kal\u0131p\" dosya_adi<\/code> komutunu kullanarak arama yapabilirsiniz.  <code class=\"language-\">ripgrep<\/code>&#8216;in <code class=\"language-\">grep<\/code>&#8216;ten daha h\u0131zl\u0131 ve daha \u00e7ok \u00f6zelli\u011fi vard\u0131r.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# grep ile Dosyada Son Olu\u015fumu \u00c7\u0131karma: Tam Bir K\u0131lavuz Bir log dosyas\u0131nda en son hata mesaj\u0131n\u0131 m\u0131&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1375],"tags":[],"class_list":{"0":"post-27642","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-grep","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-16T21:10:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-01T15:43:34+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r\",\"datePublished\":\"2025-08-16T21:10:24+00:00\",\"dateModified\":\"2025-09-01T15:43:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\"},\"wordCount\":1245,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Grep\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\",\"name\":\"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-16T21:10:24+00:00\",\"dateModified\":\"2025-09-01T15:43:34+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-16T21:10:24+00:00","article_modified_time":"2025-09-01T15:43:34+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r","datePublished":"2025-08-16T21:10:24+00:00","dateModified":"2025-09-01T15:43:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/"},"wordCount":1245,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Grep"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/","url":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/","name":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-16T21:10:24+00:00","dateModified":"2025-09-01T15:43:34+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/dosyada-son-olusumu-cikarmak-icin-grep-nasil-kullanilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dosyada Son Olu\u015fumu \u00c7\u0131karmak \u0130\u00e7in grep Nas\u0131l Kullan\u0131l\u0131r"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=27642"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27642\/revisions"}],"predecessor-version":[{"id":28664,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27642\/revisions\/28664"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}