{"id":26271,"date":"2025-07-22T21:45:26","date_gmt":"2025-07-22T18:45:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/"},"modified":"2025-07-23T17:18:15","modified_gmt":"2025-07-23T14:18:15","slug":"bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/","title":{"rendered":"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme"},"content":{"rendered":"<p># Bash&#8217;te Alt Dizgi Kontrol\u00fc:  String&#8217;in \u0130\u00e7inde Alt Dizi Var m\u0131?<\/p>\n<p>Bir metin dosyas\u0131nda belirli bir kelimeyi aramak, bir log dosyas\u0131nda hata mesajlar\u0131n\u0131 filtrelemek veya bir komutun \u00e7\u0131kt\u0131s\u0131n\u0131 i\u015flemek gibi bir\u00e7ok senaryoda Bash betiklerinde alt dizi kontrol\u00fc (substring search) ihtiyac\u0131 duyabilirsiniz. Bu makale, Bash&#8217;te bir dizenin belirli bir alt diziyi i\u00e7erip i\u00e7ermedi\u011fini kontrol etmenin \u00e7e\u015fitli y\u00f6ntemlerini, ad\u0131m ad\u0131m a\u00e7\u0131klamalar\u0131, ger\u00e7ek d\u00fcnya \u00f6rneklerini ve performans optimizasyonlar\u0131n\u0131 kapsamaktad\u0131r.  Bash&#8217;te alt dize kontrol\u00fcn\u00fcn temellerinden ileri d\u00fczey tekniklerine kadar uzanan kapsaml\u0131 bir rehber sunaca\u011f\u0131z.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131:<\/strong><\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> <code class=\"language-\">grep<\/code>, <code class=\"language-\">case<\/code> ifadesi ile basit kontrol.<br \/>\n* <strong>Orta Seviye:<\/strong>  Ger\u00e7ek hayat senaryolar\u0131,  <code class=\"language-\">[[ ]]<\/code> ile performans optimizasyonu.<br \/>\n* <strong>\u0130leri Seviye:<\/strong>  Regex kullan\u0131m\u0131, performans analizi, edge case&#8217;ler.<\/p>\n<p><strong>Bash&#8217;te Alt Dizi Kontrol\u00fc: Temel Kavramlar<\/strong><\/p>\n<p>Bir dizenin ba\u015fka bir diziyi i\u00e7erip i\u00e7ermedi\u011fini kontrol etmek, programlamada s\u0131k kar\u015f\u0131la\u015f\u0131lan bir i\u015flemdir. Bash, bu i\u015flem i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntem sunar.  Bu y\u00f6ntemler aras\u0131nda en yayg\u0131n kullan\u0131lanlar\u0131 <code class=\"language-\">grep<\/code>, <code class=\"language-\">case<\/code> ifadesi ve <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fcd\u00fcr.  Bu y\u00f6ntemlerin her birinin kendine \u00f6zg\u00fc avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r.  \u00d6rne\u011fin, <code class=\"language-\">grep<\/code> g\u00fc\u00e7l\u00fc d\u00fczenli ifadeleri desteklerken, <code class=\"language-\">case<\/code> ifadesi daha basit kar\u015f\u0131la\u015ft\u0131rmalar i\u00e7in daha uygun olabilir.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r? <code class=\"language-\">grep<\/code> ile Alt Dizi Kontrol\u00fc<\/strong><\/p>\n<p><code class=\"language-\">grep<\/code> komutu, metin dosyalar\u0131nda desen arama i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  Ancak, sadece dosyalarla s\u0131n\u0131rl\u0131 kalmaz; bir de\u011fi\u015fkenin i\u00e7eri\u011fini de arayabiliriz.  <code class=\"language-\">grep<\/code>&#8216;in temel kullan\u0131m\u0131 \u015fu \u015fekildedir:<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Bu bir \u00f6rnek metindir.&quot;\nif grep -q &quot;\u00f6rnek&quot; &lt;&lt;&lt; &quot;$string&quot;; then\n  echo &quot;Dizi '\u00f6rnek' metni i\u00e7eriyor.&quot;\nelse\n  echo &quot;Dizi '\u00f6rnek' metnini i\u00e7ermiyor.&quot;\nfi<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">-q<\/code> se\u00e7ene\u011fi, <code class=\"language-\">grep<\/code>&#8216;in \u00e7\u0131kt\u0131s\u0131n\u0131 bast\u0131r\u0131r ve sadece \u00e7\u0131k\u0131\u015f kodunu kullanarak kontrol yapmam\u0131z\u0131 sa\u011flar. <code class=\"language-\"><<< \"$string\"<\/code> ise, <code class=\"language-\">grep<\/code> komutuna de\u011fi\u015fkenin i\u00e7eri\u011fini girdi olarak sa\u011flar.  E\u011fer \"\u00f6rnek\" alt dizisi <code class=\"language-\">$string<\/code> de\u011fi\u015fkeninde bulunursa, <code class=\"language-\">if<\/code> blo\u011fu \u00e7al\u0131\u015f\u0131r ve \"Dizi '\u00f6rnek' metni i\u00e7eriyor.\" mesaj\u0131 yazd\u0131r\u0131l\u0131r. Aksi takdirde, \"Dizi '\u00f6rnek' metnini i\u00e7ermiyor.\" mesaj\u0131 yazd\u0131r\u0131l\u0131r.  <code class=\"language-\">grep<\/code>'in g\u00fc\u00e7l\u00fc y\u00f6nlerinden biri, d\u00fczenli ifadeleri desteklemesidir, bu da daha karma\u015f\u0131k arama i\u015flemleri yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r? <code class=\"language-\">case<\/code> \u0130fadesi ile Alt Dizi Kontrol\u00fc<\/strong><\/p>\n<p><code class=\"language-\">case<\/code> ifadesi, basit alt dizi kar\u015f\u0131la\u015ft\u0131rmalar\u0131 i\u00e7in kullan\u0131labilir.  Ancak, <code class=\"language-\">grep<\/code> gibi d\u00fczenli ifadeleri desteklemez.<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Bu bir ba\u015fka \u00f6rnektir.&quot;\ncase &quot;$string&quot; in\n  *\u00f6rnek*)\n    echo &quot;Dizi '\u00f6rnek' metni i\u00e7eriyor.&quot;\n    ;;\n  *)\n    echo &quot;Dizi '\u00f6rnek' metnini i\u00e7ermiyor.&quot;\n    ;;\nesac<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">*\u00f6rnek*<\/code> kal\u0131b\u0131, \"\u00f6rnek\" dizisini i\u00e7eren herhangi bir diziyle e\u015fle\u015fir.  Y\u0131ld\u0131z i\u015fareti (<code class=\"language-\">*<\/code>), s\u0131f\u0131r veya daha fazla karakteri temsil eder.  E\u011fer <code class=\"language-\">$string<\/code> de\u011fi\u015fkeni \"\u00f6rnek\" dizisini i\u00e7eriyorsa, ilk <code class=\"language-\">case<\/code> blo\u011fu \u00e7al\u0131\u015f\u0131r.  Aksi takdirde, varsay\u0131lan <code class=\"language-\">case<\/code> blo\u011fu \u00e7al\u0131\u015f\u0131r.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r? <code class=\"language-\">[[ ]]<\/code> ile Alt Dizi Kontrol\u00fc ve Performans Optimizasyonu<\/strong><\/p>\n<p><code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fc, Bash'te ko\u015fullu ifadeler i\u00e7in kullan\u0131l\u0131r ve <code class=\"language-\">grep<\/code> veya <code class=\"language-\">case<\/code>'e g\u00f6re genellikle daha h\u0131zl\u0131d\u0131r.  Alt dizi kontrol\u00fc i\u00e7in <code class=\"language-\">==<\/code> operat\u00f6r\u00fcn\u00fc ve wildcard'lar\u0131 kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Bu da bir \u00f6rnektir.&quot;\nif [[ &quot;$string&quot; == *&quot;\u00f6rnek&quot;* ]]; then\n  echo &quot;Dizi '\u00f6rnek' metni i\u00e7eriyor.&quot;\nelse\n  echo &quot;Dizi '\u00f6rnek' metnini i\u00e7ermiyor.&quot;\nfi<\/code><\/pre>\n<p>Bu \u00f6rnek, <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fcn\u00fcn performans a\u00e7\u0131s\u0131ndan daha verimli oldu\u011funu g\u00f6stermektedir.  <code class=\"language-\">grep<\/code>'in aksine, <code class=\"language-\">[[ ]]<\/code>  dahili bir kar\u015f\u0131la\u015ft\u0131rma yapar ve harici bir komutu \u00e7al\u0131\u015ft\u0131rmaz.  Bu, \u00f6zellikle b\u00fcy\u00fck dizilerle \u00e7al\u0131\u015f\u0131rken \u00f6nemli bir performans art\u0131\u015f\u0131 sa\u011flayabilir.  Ayr\u0131ca,  <code class=\"language-\">[[ ]]<\/code>  hata y\u00f6netimi a\u00e7\u0131s\u0131ndan da daha g\u00fcvenlidir.<\/p>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi: Log Dosyas\u0131 Analizi<\/strong><\/p>\n<p>Bir web sunucusunun log dosyas\u0131nda belirli bir hata mesaj\u0131n\u0131 aramak istedi\u011fimizi d\u00fc\u015f\u00fcnelim.  A\u015fa\u011f\u0131daki Bash beti\u011fi, log dosyas\u0131nda \"404 Not Found\" hata mesaj\u0131n\u0131 arar ve buldu\u011fu sat\u0131rlar\u0131 ekrana yazd\u0131r\u0131r:<\/p>\n<pre class=\"language-bash\"><code>log_file=&quot;\/var\/log\/apache2\/error.log&quot;\nif grep -n &quot;404 Not Found&quot; &quot;$log_file&quot; &gt; \/dev\/null 2&gt;&amp;1; then\n  echo &quot;Hata mesaj\u0131 log dosyas\u0131nda bulundu.&quot;\n  grep &quot;404 Not Found&quot; &quot;$log_file&quot;\nelse\n  echo &quot;Hata mesaj\u0131 log dosyas\u0131nda bulunamad\u0131.&quot;\nfi<\/code><\/pre>\n<p>Bu \u00f6rnek, <code class=\"language-\">grep<\/code>'i hem varl\u0131k kontrol\u00fc hem de hata mesajlar\u0131n\u0131n listelenmesi i\u00e7in kullan\u0131r.  <code class=\"language-\">\/dev\/null 2>&1<\/code>  kullan\u0131m\u0131, <code class=\"language-\">grep<\/code>'in standart hatas\u0131n\u0131 ve standart \u00e7\u0131kt\u0131s\u0131n\u0131 bast\u0131r\u0131r, b\u00f6ylece sadece \u00e7\u0131k\u0131\u015f kodunu kontrol ederiz.  Bu, beti\u011fin daha temiz ve okunabilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p><strong>\u0130leri D\u00fczey Teknikler: D\u00fczenli \u0130fadeler (Regex)<\/strong><\/p>\n<p><code class=\"language-\">grep<\/code> ve <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fc, d\u00fczenli ifadeleri (regex) destekler.  D\u00fczenli ifadeler, karma\u015f\u0131k desenleri aramak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  \u00d6rne\u011fin, bir IP adresini bulmak i\u00e7in a\u015fa\u011f\u0131daki regex'i kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Sunucu IP adresi: 192.168.1.100&quot;\nif [[ &quot;$string&quot; =~ [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} ]]; then\n  echo &quot;IP adresi bulundu.&quot;\nfi<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}<\/code> regex'i, bir IP adresinin genel yap\u0131s\u0131n\u0131 tan\u0131mlar.  Bu, daha esnek ve g\u00fc\u00e7l\u00fc bir arama yapmam\u0131z\u0131 sa\u011flar.  Daha karma\u015f\u0131k regex ifadeleri i\u00e7in,  [fatihsoysal.com](https:\/\/fatihsoysal.com) gibi kaynaklardan daha detayl\u0131 bilgi edinebilirsiniz.<\/p>\n<p><strong>Performans Analizi ve Edge Case'ler<\/strong><\/p>\n<p>Performans, \u00f6zellikle b\u00fcy\u00fck miktarda veri i\u015flerken \u00f6nemlidir.  <code class=\"language-\">grep<\/code>'in harici bir komut \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131n performans maliyetine dikkat etmek \u00f6nemlidir.  <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fc, \u00f6zellikle b\u00fcy\u00fck diziler i\u00e7in daha h\u0131zl\u0131d\u0131r.  Edge case'ler ise, beklenmedik girdilerle kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z durumlard\u0131r.  \u00d6rne\u011fin, bo\u015f bir dizgi veya \u00f6zel karakterler i\u00e7eren dizgiler.  Bu durumlar\u0131 ele almak i\u00e7in, kodumuzu uygun \u015fekilde test etmek ve hata y\u00f6netimi mekanizmalar\u0131 eklemek \u00f6nemlidir.  \u00d6rne\u011fin, bo\u015f bir dizgi kontrol\u00fc eklemek, beklenmedik hatalar\u0131 \u00f6nleyebilir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash'te alt dizi kontrol\u00fc, bir\u00e7ok farkl\u0131 y\u00f6ntemle ger\u00e7ekle\u015ftirilebilir.  <code class=\"language-\">grep<\/code>, <code class=\"language-\">case<\/code> ifadesi ve <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fc, her biri farkl\u0131 avantajlar ve dezavantajlar sunan yayg\u0131n kullan\u0131lan y\u00f6ntemlerdir.  Performans optimizasyonu i\u00e7in, <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fcn\u00fc kullanmak genellikle daha h\u0131zl\u0131d\u0131r.  D\u00fczenli ifadeler, karma\u015f\u0131k desenleri aramak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  Uygulaman\u0131z\u0131n \u00f6zel gereksinimlerine g\u00f6re en uygun y\u00f6ntemi se\u00e7mek ve edge case'leri ele almak \u00f6nemlidir.  Daha detayl\u0131 bilgi ve ileri d\u00fczey teknikler 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>Hangi y\u00f6ntem en h\u0131zl\u0131d\u0131r?<\/strong> Genellikle <code class=\"language-\">[[ ]]<\/code> operat\u00f6r\u00fc, <code class=\"language-\">grep<\/code> veya <code class=\"language-\">case<\/code>'den daha h\u0131zl\u0131d\u0131r.<br \/>\n2. <strong>D\u00fczenli ifadeler ne zaman kullan\u0131l\u0131r?<\/strong> Karma\u015f\u0131k desenleri aramak veya esnek e\u015fle\u015fmeler yapmak gerekti\u011finde.<br \/>\n3. <strong>Bo\u015f bir dizgiyi nas\u0131l ele alabilirim?<\/strong>  Ko\u015fullu ifadeler kullanarak bo\u015f dizgi durumunu kontrol edebilirsiniz. \u00d6rne\u011fin: <code class=\"language-\">if [[ -z \"$string\" ]]; then ... fi<\/code><br \/>\n4. <strong>\u00d6zel karakterleri nas\u0131l ele alabilirim?<\/strong>  \u00d6zel karakterleri ka\u00e7\u0131\u015f dizileri kullanarak (\u00f6rne\u011fin, <code class=\"language-\">\\*<\/code>, <code class=\"language-\">\\?<\/code>) veya regex'in \u00f6zel karakter i\u015fleme \u00f6zelliklerinden yararlanarak ele alabilirsiniz.<br \/>\n5. <strong>B\u00fcy\u00fck dosyalarda performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong>  <code class=\"language-\">grep<\/code> ile arama yaparken <code class=\"language-\">-i<\/code> (case-insensitive) gibi se\u00e7enekleri kullanarak gereksiz i\u015flemleri azaltabilirsiniz.  Ayr\u0131ca, <code class=\"language-\">xargs<\/code> gibi ara\u00e7lar\u0131 kullanarak paralel i\u015flemeyi d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Alt Dizgi Kontrol\u00fc: String&#8217;in \u0130\u00e7inde Alt Dizi Var m\u0131? Bir metin dosyas\u0131nda belirli bir kelimeyi aramak,&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-26271","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: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme<\/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-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-22T18:45:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-23T14:18:15+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=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme\",\"datePublished\":\"2025-07-22T18:45:26+00:00\",\"dateModified\":\"2025-07-23T14:18:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\"},\"wordCount\":1040,\"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-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\",\"name\":\"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-22T18:45:26+00:00\",\"dateModified\":\"2025-07-23T14:18:15+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme\"}]},{\"@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: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme","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-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-22T18:45:26+00:00","article_modified_time":"2025-07-23T14:18:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme","datePublished":"2025-07-22T18:45:26+00:00","dateModified":"2025-07-23T14:18:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/"},"wordCount":1040,"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-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/","name":"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-22T18:45:26+00:00","dateModified":"2025-07-23T14:18:15+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-dizenin-alt-dizeyi-icerip-icermedigini-kontrol-etme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Bir Dizenin Alt Dizeyi \u0130\u00e7erip \u0130\u00e7ermedi\u011fini Kontrol Etme"}]},{"@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\/26271","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=26271"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26271\/revisions"}],"predecessor-version":[{"id":26325,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26271\/revisions\/26325"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=26271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=26271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=26271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}