{"id":28689,"date":"2025-09-02T00:10:24","date_gmt":"2025-09-01T21:10:24","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/"},"modified":"2025-09-02T00:10:24","modified_gmt":"2025-09-01T21:10:24","slug":"bash-dosyada-yinelenen-satirlari-bulma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/","title":{"rendered":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma"},"content":{"rendered":"<p># Bash&#8217;te Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma<\/p>\n<p>Bir\u00e7ok veri i\u015fleme g\u00f6revinde, b\u00fcy\u00fck dosyalar i\u00e7indeki yinelenen sat\u0131rlar\u0131 tespit etmek zorunlu hale gelir.  Bu, log dosyalar\u0131n\u0131n analizinden veri temizli\u011fine kadar geni\u015f bir yelpazede kullan\u0131l\u0131r.  Bu makalede, Bash komut sat\u0131r\u0131 arac\u0131yla dosyalarda yinelenen sat\u0131rlar\u0131 nas\u0131l bulaca\u011f\u0131n\u0131z\u0131, farkl\u0131 y\u00f6ntemleri ve performans optimizasyonlar\u0131n\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  \u00d6rneklerimiz, ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 yans\u0131tacak ve farkl\u0131 ihtiya\u00e7lara uygun \u00e7\u00f6z\u00fcmler sunacakt\u0131r.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu rehber, farkl\u0131 deneyim seviyelerine g\u00f6re tasarlanm\u0131\u015ft\u0131r:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Temel komutlar ve basit bir dosya \u00fczerinde \u00e7al\u0131\u015fma.<\/p>\n<p><strong>Orta:<\/strong>  Daha karma\u015f\u0131k dosyalar, ger\u00e7ek d\u00fcnya senaryolar\u0131 ve performans optimizasyonu ipu\u00e7lar\u0131.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong>  Performans analizi, b\u00fcy\u00fck dosyalar ve \u00f6zel durumlar\u0131n ele al\u0131nmas\u0131.<\/p>\n<p><strong>1. Temel Kavramlar: Bash ve Dosya \u0130\u015fleme<\/strong><\/p>\n<p>Bash, Linux ve macOS sistemlerinde kullan\u0131lan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 yorumlay\u0131c\u0131s\u0131d\u0131r.  Dosya i\u015flemede, <code class=\"language-\">sort<\/code>, <code class=\"language-\">uniq<\/code>, <code class=\"language-\">awk<\/code>, <code class=\"language-\">grep<\/code> gibi komutlar s\u0131k\u00e7a kullan\u0131l\u0131r.  Bu komutlar\u0131n birle\u015fimiyle karma\u015f\u0131k dosya i\u015flemleri ger\u00e7ekle\u015ftirilebilir.  \u00d6rne\u011fin, <code class=\"language-\">sort<\/code> komutu dosyadaki sat\u0131rlar\u0131 alfabetik olarak s\u0131ralar, <code class=\"language-\">uniq<\/code> komutu ard\u0131\u015f\u0131k yinelenen sat\u0131rlar\u0131 kald\u0131r\u0131r.  <code class=\"language-\">awk<\/code> ve <code class=\"language-\">grep<\/code> ise daha karma\u015f\u0131k desen e\u015fle\u015ftirme ve filtreleme i\u015flemleri i\u00e7in kullan\u0131l\u0131r.  Bu makalede, bu komutlar\u0131n nas\u0131l bir araya getirilece\u011fini ve performanslar\u0131n\u0131 nas\u0131l optimize edece\u011fimizi g\u00f6rece\u011fiz.<\/p>\n<p><strong>2. Yeni Ba\u015flayanlar \u0130\u00e7in: Basit Bir Yinelenen Sat\u0131r Bulma Y\u00f6ntemi<\/strong><\/p>\n<p>Diyelim ki, <code class=\"language-\">my_file.txt<\/code> adl\u0131 bir dosyam\u0131z var ve i\u00e7inde yinelenen sat\u0131rlar\u0131 bulmak istiyoruz.  En basit y\u00f6ntem, \u00f6nce sat\u0131rlar\u0131 s\u0131ralay\u0131p sonra yinelenenleri tespit etmektir:<\/p>\n<pre class=\"language-bash\"><code>sort my_file.txt | uniq -d<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">my_file.txt<\/code> dosyas\u0131ndaki sat\u0131rlar\u0131 alfabetik olarak s\u0131ralar (<code class=\"language-\">sort<\/code>), ard\u0131ndan yinelenen sat\u0131rlar\u0131 g\u00f6sterir (<code class=\"language-\">uniq -d<\/code>). <code class=\"language-\">-d<\/code> se\u00e7ene\u011fi, yaln\u0131zca yinelenen sat\u0131rlar\u0131 g\u00f6sterir;  tekrar say\u0131s\u0131n\u0131 g\u00f6stermek i\u00e7in <code class=\"language-\">-c<\/code> se\u00e7ene\u011fini kullanabilirsiniz.<\/p>\n<p><strong>\u00d6rnek:<\/strong> <code class=\"language-\">my_file.txt<\/code> dosyas\u0131 \u015fu i\u00e7eri\u011fe sahip olsun:<\/p>\n<pre class=\"language-\"><code>elma\narmut\nelma\nmuz\narmut\nkiraz<\/code><\/pre>\n<p>Yukar\u0131daki komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda \u00e7\u0131kt\u0131 \u015fu olur:<\/p>\n<pre class=\"language-\"><code>armut\nelma<\/code><\/pre>\n<p><strong>3. Orta Seviye: Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>Ger\u00e7ek d\u00fcnya senaryolar\u0131nda, dosyalar \u00e7ok daha b\u00fcy\u00fck ve karma\u015f\u0131k olabilir.  \u00d6rne\u011fin, bir web sunucusunun log dosyas\u0131nda milyonlarca sat\u0131r olabilir.  Bu durumda, yukar\u0131daki basit y\u00f6ntem performans sorunlar\u0131na yol a\u00e7abilir.  Bu nedenle, optimizasyon teknikleri kullanmak \u00f6nemlidir.<\/p>\n<p><strong>\u00d6rnek Senaryo:<\/strong> Bir web sunucusunun log dosyas\u0131nda, ayn\u0131 IP adresinden gelen \u00e7ok say\u0131da istek var ve bu istekleri tespit etmek istiyoruz.  Log dosyas\u0131 \u015fu formatta olsun:<\/p>\n<pre class=\"language-\"><code>192.168.1.1 - - [10\/Oct\/2023:13:00:00 +0300] &quot;GET \/index.html HTTP\/1.1&quot; 200 1234\n192.168.1.2 - - [10\/Oct\/2023:13:01:00 +0300] &quot;GET \/about.html HTTP\/1.1&quot; 200 5678\n192.168.1.1 - - [10\/Oct\/2023:13:02:00 +0300] &quot;GET \/index.html HTTP\/1.1&quot; 200 1234\n192.168.1.3 - - [10\/Oct\/2023:13:03:00 +0300] &quot;GET \/contact.html HTTP\/1.1&quot; 200 9012\n192.168.1.1 - - [10\/Oct\/2023:13:04:00 +0300] &quot;GET \/index.html HTTP\/1.1&quot; 200 1234<\/code><\/pre>\n<p>Bu durumda, <code class=\"language-\">awk<\/code> komutu ile IP adreslerini ay\u0131klay\u0131p sonra <code class=\"language-\">sort<\/code> ve <code class=\"language-\">uniq<\/code> kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>awk '{print $1}' access.log | sort | uniq -d<\/code><\/pre>\n<p>Bu komut, her sat\u0131rdaki ilk s\u00fctunu (IP adresi) ay\u0131klar, s\u0131ralar ve yinelenenleri g\u00f6sterir.  Bu y\u00f6ntem, sadece ilgili bilgileri i\u015fleyerek performans\u0131 art\u0131r\u0131r.<\/p>\n<p><strong>4.  <code class=\"language-\">awk<\/code> ile Daha G\u00fc\u00e7l\u00fc Filtreleme ve \u0130\u015fleme<\/strong><\/p>\n<p><code class=\"language-\">awk<\/code> komutu,  metin dosyalar\u0131n\u0131 i\u015flemek i\u00e7in \u00e7ok g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  Yinelenen sat\u0131rlar\u0131 bulmak i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131 kullanarak daha karma\u015f\u0131k filtreleme ve i\u015fleme yapabiliriz.  \u00d6rne\u011fin, sadece belirli bir kriteri kar\u015f\u0131layan yinelenen sat\u0131rlar\u0131 bulmak i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131n ko\u015fullu ifadelerini kullanabiliriz.<\/p>\n<p><strong>5.  \u0130leri D\u00fczey: Performans Analizi ve B\u00fcy\u00fck Dosyalar<\/strong><\/p>\n<p>\u00c7ok b\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken, performans kritik \u00f6nem ta\u015f\u0131r.  <code class=\"language-\">sort<\/code> komutu, bellek yo\u011fun bir i\u015flemdir ve b\u00fcy\u00fck dosyalarda yava\u015flayabilir.  Bu durumda, <code class=\"language-\">sort<\/code> komutunu optimize etmek veya daha verimli alternatifler kullanmak gerekir.  \u00d6rne\u011fin, <code class=\"language-\">sort<\/code> komutuna <code class=\"language-\">-T \/tmp<\/code> se\u00e7ene\u011fi ekleyerek ge\u00e7ici dosyalar\u0131n konumunu belirleyebilir ve performans\u0131 art\u0131rabilirsiniz.  Ayr\u0131ca, <code class=\"language-\">parallel<\/code> gibi ara\u00e7lar\u0131 kullanarak i\u015flemi par\u00e7alara ay\u0131rabilir ve paralel olarak i\u015fleyebilirsiniz.<\/p>\n<p><strong>6.  \u00d6zel Durumlar (Edge Cases)<\/strong><\/p>\n<p>Baz\u0131 durumlarda, bo\u015f sat\u0131rlar veya sadece bo\u015fluk karakterlerinden olu\u015fan sat\u0131rlar da yinelenen olarak kabul edilebilir.  Bu durumlar\u0131 ele almak i\u00e7in, <code class=\"language-\">awk<\/code> komutunu kullanarak bo\u015fluklar\u0131 temizleyebilir ve sadece anlaml\u0131 sat\u0131rlar\u0131 i\u015fleyebilirsiniz.<\/p>\n<p><strong>7.  Performans Optimizasyonu Stratejileri<\/strong><\/p>\n<p>* <strong>\u00d6n \u0130\u015fleme:<\/strong> Gereksiz alanlar\u0131 kald\u0131rmak i\u00e7in <code class=\"language-\">sed<\/code> veya <code class=\"language-\">awk<\/code> gibi ara\u00e7lar kullan\u0131n.<br \/>\n* <strong>Paralel \u0130\u015fleme:<\/strong> <code class=\"language-\">parallel<\/code> gibi ara\u00e7larla b\u00fcy\u00fck dosyalar\u0131 par\u00e7alara ay\u0131r\u0131p paralel olarak i\u015fleyin.<br \/>\n* <strong>Bellek Y\u00f6netimi:<\/strong> <code class=\"language-\">sort<\/code> komutu i\u00e7in ge\u00e7ici dosya konumunu belirleyin (<code class=\"language-\">-T<\/code> se\u00e7ene\u011fi).<br \/>\n* <strong>Uygun Ara\u00e7 Se\u00e7imi:<\/strong> G\u00f6reve en uygun arac\u0131 se\u00e7in (\u00f6rne\u011fin, <code class=\"language-\">uniq<\/code>, <code class=\"language-\">awk<\/code>, <code class=\"language-\">grep<\/code>).<\/p>\n<p><strong>8.  Ger\u00e7ek D\u00fcnya Vaka Analizi: Log Dosyas\u0131 Analizi<\/strong><\/p>\n<p>Bir web sunucusunun log dosyas\u0131nda, ayn\u0131 hata mesaj\u0131n\u0131n ka\u00e7 kez tekrarland\u0131\u011f\u0131n\u0131 bulmak isteyelim.  Bu, sistemde tekrarlayan sorunlar\u0131n tespit edilmesi i\u00e7in \u00f6nemlidir.  A\u015fa\u011f\u0131daki komut, hata mesajlar\u0131n\u0131 i\u00e7eren sat\u0131rlar\u0131 ay\u0131klar, s\u0131ralar ve yinelenenleri sayar:<\/p>\n<pre class=\"language-bash\"><code>grep &quot;Error&quot; access.log | sort | uniq -c | sort -nr<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">access.log<\/code> dosyas\u0131nda &#8220;Error&#8221; i\u00e7eren sat\u0131rlar\u0131 bulur, s\u0131ralar, yinelenenleri sayar ve en s\u0131k tekrar edenlerden ba\u015flamak \u00fczere s\u0131ralar.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash komut sat\u0131r\u0131 ara\u00e7lar\u0131, dosyalarda yinelenen sat\u0131rlar\u0131 bulmak i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir \u00e7\u00f6z\u00fcm sunar.  Bu makalede, farkl\u0131 y\u00f6ntemleri, optimizasyon tekniklerini ve ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 inceledik.  Do\u011fru y\u00f6ntemi se\u00e7mek, dosya boyutuna, veri yap\u0131s\u0131na ve performans gereksinimlerine ba\u011fl\u0131d\u0131r.  Farkl\u0131 y\u00f6ntemleri deneyerek ve performans\u0131n\u0131 \u00f6l\u00e7erek en uygun \u00e7\u00f6z\u00fcm\u00fc bulabilirsiniz.  Daha detayl\u0131 bilgi ve ileri seviye Bash teknikleri i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) adresini ziyaret edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>\u00c7ok b\u00fcy\u00fck dosyalarda performans nas\u0131l iyile\u015ftirilir?<\/strong>  <code class=\"language-\">sort<\/code> komutunu optimize etmek veya <code class=\"language-\">parallel<\/code> gibi ara\u00e7lar kullanmak performans\u0131 art\u0131rabilir.<\/p>\n<p>2. <strong>Yinelenen sat\u0131rlar\u0131n say\u0131s\u0131n\u0131 nas\u0131l bulabilirim?<\/strong>  <code class=\"language-\">uniq -c<\/code> se\u00e7ene\u011fi yinelenen sat\u0131rlar\u0131n say\u0131s\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>3. <strong>Sadece belirli bir s\u00fctuna g\u00f6re yinelenenleri nas\u0131l bulabilirim?<\/strong>  <code class=\"language-\">awk<\/code> komutunu kullanarak belirli s\u00fctunlar\u0131 ay\u0131klayabilir ve sonra <code class=\"language-\">sort<\/code> ve <code class=\"language-\">uniq<\/code> kullanabilirsiniz.<\/p>\n<p>4. <strong>Bo\u015f sat\u0131rlar\u0131 nas\u0131l ele alabilirim?<\/strong>  <code class=\"language-\">awk<\/code> komutunu kullanarak bo\u015f sat\u0131rlar\u0131 filtreleyebilirsiniz.<\/p>\n<p>5. <strong>Farkl\u0131 karakter kodlamalar\u0131yla nas\u0131l ba\u015fa \u00e7\u0131kabilirim?<\/strong> <code class=\"language-\">sort<\/code> ve <code class=\"language-\">uniq<\/code> komutlar\u0131na <code class=\"language-\">--help<\/code> se\u00e7ene\u011fiyle karakter kodlama se\u00e7eneklerini inceleyebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma Bir\u00e7ok veri i\u015fleme g\u00f6revinde, b\u00fcy\u00fck dosyalar i\u00e7indeki yinelenen sat\u0131rlar\u0131 tespit etmek zorunlu&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":[1328],"tags":[],"class_list":{"0":"post-28689","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-bash","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>Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma<\/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\/bash-dosyada-yinelenen-satirlari-bulma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-01T21:10:24+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=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma\",\"datePublished\":\"2025-09-01T21:10:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\"},\"wordCount\":1001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Bash\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\",\"name\":\"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-01T21:10:24+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma\"}]},{\"@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":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma","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\/bash-dosyada-yinelenen-satirlari-bulma\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-01T21:10:24+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma","datePublished":"2025-09-01T21:10:24+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/"},"wordCount":1001,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Bash"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/","name":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-01T21:10:24+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyada-yinelenen-satirlari-bulma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Dosyada Yinelenen Sat\u0131rlar\u0131 Bulma"}]},{"@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\/28689","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=28689"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28689\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}