{"id":28743,"date":"2025-09-02T18:10:23","date_gmt":"2025-09-02T15:10:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/"},"modified":"2025-09-02T18:10:23","modified_gmt":"2025-09-02T15:10:23","slug":"bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/","title":{"rendered":"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir"},"content":{"rendered":"<p># Bash&#8217;te Bir Dizinin Belirli Bir De\u011ferle Bitip Bitmedi\u011fini Kontrol Etme<\/p>\n<p>Bir dosya i\u015flemi yaparken, bir web sunucusundan gelen bir yan\u0131t de\u011ferlendirirken veya bir komut dosyas\u0131nda bir dizi i\u015flem y\u00fcr\u00fct\u00fcrken, s\u0131k s\u0131k bir dizenin belirli bir de\u011ferle bitip bitmedi\u011fini kontrol etmeniz gerekebilir.  Bash beti\u011finde bunu yapmak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler vard\u0131r ve bu makalede, yeni ba\u015flayanlardan uzman seviyesine kadar ad\u0131m ad\u0131m, bu i\u015flemi nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi \u00f6\u011freneceksiniz.  Bu k\u0131lavuz, pratik \u00f6rnekler, performans optimizasyon ipu\u00e7lar\u0131 ve olas\u0131 sorunlar\u0131n \u00e7\u00f6z\u00fcmlerini i\u00e7erir.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu rehber, Bash&#8217;te dize sonu kontrol\u00fcn\u00fc kademeli olarak \u00f6\u011frenmenizi sa\u011flayacak \u015fekilde tasarlanm\u0131\u015ft\u0131r:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Temel <code class=\"language-\">case<\/code> ifadesi ve basit <code class=\"language-\">expr<\/code> kullan\u0131m\u0131 ile ad\u0131m ad\u0131m a\u00e7\u0131klama ve basit kod \u00f6rnekleri.<\/p>\n<p><strong>Orta:<\/strong> Ger\u00e7ek hayat \u00f6rnekleri, performans optimizasyonu ipu\u00e7lar\u0131 ve daha geli\u015fmi\u015f <code class=\"language-\">[[ ]]<\/code> kullan\u0131m\u0131.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong>  Performans analizi, edge case&#8217;ler ve daha karma\u015f\u0131k senaryolar i\u00e7in \u00e7\u00f6z\u00fcmler.<\/p>\n<p><strong>Bash&#8217;te Temel Dize \u0130\u015flemleri: Neler Bilmemiz Gerekiyor?<\/strong><\/p>\n<p>Bash, temel dize i\u015flemleri i\u00e7in bir\u00e7ok yerle\u015fik komut ve operat\u00f6r sunar.  Bunlardan en \u00f6nemlileri \u015funlard\u0131r:<\/p>\n<p>* <strong><code class=\"language-\">=<\/code>:<\/strong> \u0130ki dizenin e\u015fit olup olmad\u0131\u011f\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131r.<br \/>\n* <strong><code class=\"language-\">!=<\/code>:<\/strong> \u0130ki dizenin e\u015fit olmad\u0131\u011f\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131r.<br \/>\n* <strong><code class=\"language-\">-z<\/code>:<\/strong> Bir dizenin bo\u015f olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n* <strong><code class=\"language-\">-n<\/code>:<\/strong> Bir dizenin bo\u015f olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n* <strong><code class=\"language-\">${#string}<\/code>:<\/strong> Bir dizenin uzunlu\u011funu verir.<br \/>\n* <strong><code class=\"language-\">${string:position:length}<\/code>:<\/strong> Bir dizenin alt dizisini \u00e7\u0131kar\u0131r.<br \/>\n* <strong><code class=\"language-\">${string#pattern}<\/code>:<\/strong> Bir dizenin ba\u015f\u0131ndaki deseni kald\u0131r\u0131r.<br \/>\n* <strong><code class=\"language-\">${string<strong>pattern}<\/code>:<\/strong> Bir dizenin ba\u015f\u0131ndaki en uzun e\u015fle\u015fen deseni kald\u0131r\u0131r.<\/strong><br \/>\n* <strong><code class=\"language-\">${string%pattern}<\/code>:<\/strong> Bir dizenin sonundaki deseni kald\u0131r\u0131r.<br \/>\n* <strong><code class=\"language-\">${string%%pattern}<\/code>:<\/strong> Bir dizenin sonundaki en uzun e\u015fle\u015fen deseni kald\u0131r\u0131r.<\/p>\n<p>Bu operat\u00f6rler, \u00f6zellikle <code class=\"language-\">case<\/code> ifadesi ve <code class=\"language-\">[[ ]]<\/code> (iki k\u00f6\u015feli parantez) ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, dizeler \u00fczerinde \u00e7e\u015fitli i\u015flemler yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>Bash&#8217;te Bir Dizinin Belirli Bir De\u011ferle Bitip Bitmedi\u011fini Kontrol Etmenin Basit Y\u00f6ntemi: <code class=\"language-\">case<\/code> \u0130fadesi<\/strong><\/p>\n<p>Yeni ba\u015flayanlar i\u00e7in en basit y\u00f6ntem <code class=\"language-\">case<\/code> ifadesini kullanmakt\u0131r.  Bu y\u00f6ntem, belirli bir sonekle biten dizeleri kontrol etmek i\u00e7in olduk\u00e7a okunabilir ve anla\u015f\u0131l\u0131rd\u0131r.<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Merhaba D\u00fcnya.txt&quot;\ncase &quot;$string&quot; in\n  *.txt) echo &quot;Dize '.txt' ile bitiyor.&quot;;\n    ;;\n  *) echo &quot;Dize '.txt' ile bitmiyor.&quot;;\n    ;;\nesac<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">*.txt<\/code> kal\u0131b\u0131, <code class=\"language-\">.txt<\/code> ile biten t\u00fcm dizeleri e\u015fle\u015ftirir.  E\u011fer dize <code class=\"language-\">.txt<\/code> ile bitiyorsa, ilk <code class=\"language-\">echo<\/code> komutu \u00e7al\u0131\u015f\u0131r; aksi takdirde, ikinci <code class=\"language-\">echo<\/code> komutu \u00e7al\u0131\u015f\u0131r.  Bu y\u00f6ntem, basit senaryolar i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.  Ancak, birden fazla soneki kontrol etmek istedi\u011finizde, kodun okunabilirli\u011fi ve karma\u015f\u0131kl\u0131\u011f\u0131 artabilir.<\/p>\n<p><strong>Daha G\u00fc\u00e7l\u00fc Bir Y\u00f6ntem: <code class=\"language-\">expr<\/code> Kullanarak Dize Sonunu Kontrol Etme<\/strong><\/p>\n<p><code class=\"language-\">expr<\/code> komutu, dizeler \u00fczerinde \u00e7e\u015fitli i\u015flemler ger\u00e7ekle\u015ftirmenize olanak tan\u0131r.  <code class=\"language-\">expr substr<\/code> komutu ile dizenin son k\u0131sm\u0131n\u0131 al\u0131p, bunu kontrol edebiliriz.<\/p>\n<pre class=\"language-bash\"><code>string=&quot;Merhaba D\u00fcnya.txt&quot;\nsuffix=&quot;.txt&quot;\nlength=${#string}\nsuffix_length=${#suffix}\n\nif [ &quot;$(expr substr &quot;$string&quot; $((length - suffix_length + 1)) $suffix_length)&quot; = &quot;$suffix&quot; ]; then\n  echo &quot;Dize '$suffix' ile bitiyor.&quot;\nelse\n  echo &quot;Dize '$suffix' ile bitmiyor.&quot;\nfi<\/code><\/pre>\n<p>Bu y\u00f6ntem, <code class=\"language-\">case<\/code> ifadesinden daha esnektir \u00e7\u00fcnk\u00fc herhangi bir soneki kontrol etmenizi sa\u011flar.  Ancak, kod biraz daha karma\u015f\u0131kt\u0131r ve okunabilirli\u011fi d\u00fc\u015f\u00fcrebilir.<\/p>\n<p><strong>Orta Seviye: Ger\u00e7ek Hayatta \u00d6rnekler ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>\u015eimdi, ger\u00e7ek d\u00fcnya senaryolar\u0131na bakal\u0131m.  \u00d6rne\u011fin, bir dizinde belirli bir uzant\u0131l\u0131 t\u00fcm dosyalar\u0131 bulmak istedi\u011finizi d\u00fc\u015f\u00fcnelim:<\/p>\n<pre class=\"language-bash\"><code>find . -type f -name &quot;*.log&quot; -print0 | while IFS= read -r -d $'\\0' file; do\n  if [[ &quot;${file<strong>*\/}&quot; =~ \\.log$ ]]; then<\/strong>\n    echo &quot;Log dosyas\u0131 bulundu: $file&quot;\n  fi\ndone<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">find<\/code> komutu ile <code class=\"language-\">.log<\/code> uzant\u0131l\u0131 t\u00fcm dosyalar\u0131 bulur ve her bir dosya i\u00e7in <code class=\"language-\">[[ ]]<\/code> kullanarak dize sonunu kontrol eder.  <code class=\"language-\">\"${file<strong>*\/}\"<\/code>, dosya yolundan sadece dosya ad\u0131n\u0131 al\u0131r ve <code class=\"language-\">=~<\/code> operat\u00f6r\u00fc, d\u00fczenli ifade e\u015fle\u015ftirme yapar.  Bu y\u00f6ntem, b\u00fcy\u00fck dosya say\u0131lar\u0131nda daha verimlidir.<\/strong><\/p>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* Gereksiz alt dizelerin olu\u015fturulmas\u0131n\u0131 \u00f6nleyin.  Performans a\u00e7\u0131s\u0131ndan, m\u00fcmk\u00fcn oldu\u011funca az dize i\u015flemi yapmaya \u00e7al\u0131\u015f\u0131n.<br \/>\n* <code class=\"language-\">[[ ]]<\/code> kullan\u0131n.  <code class=\"language-\">[ ]<\/code>&#8216;dan daha h\u0131zl\u0131 ve daha g\u00fcvenlidir.<br \/>\n* B\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">find<\/code> ve <code class=\"language-\">xargs<\/code> kombinasyonunu kullan\u0131n.<\/p>\n<p><strong>\u0130leri D\u00fczey: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p>\u00c7ok say\u0131da dosya veya \u00e7ok uzun dizelerle \u00e7al\u0131\u015f\u0131rken, performans kritik hale gelir.  Bu durumda, daha optimize edilmi\u015f \u00e7\u00f6z\u00fcmler kullanman\u0131z gerekebilir. \u00d6rne\u011fin, <code class=\"language-\">grep<\/code> komutunu kullanarak performans\u0131 art\u0131rabilirsiniz.<\/p>\n<pre class=\"language-bash\"><code>find . -type f -name &quot;*&quot; -print0 | xargs -0 -I {} sh -c 'if echo &quot;{}&quot; | grep -q &quot;\\.log$&quot;; then echo &quot;{}&quot;; fi'<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">grep<\/code>&#8216;in d\u00fczenli ifade e\u015fle\u015ftirme yeteneklerini kullanarak daha h\u0131zl\u0131 bir sonu\u00e7 verir.  <code class=\"language-\">-q<\/code> se\u00e7ene\u011fi, grep&#8217;in sadece e\u015fle\u015fme olup olmad\u0131\u011f\u0131n\u0131 kontrol etmesini ve \u00e7\u0131kt\u0131y\u0131 bast\u0131rmamas\u0131n\u0131 sa\u011flar.<\/p>\n<p><strong>Edge Case&#8217;ler:<\/strong><\/p>\n<p>* <strong>Bo\u015f dizeler:<\/strong> Bo\u015f bir dize i\u00e7in sonu kontrol etmek anlams\u0131z olabilir.  Kodunuzda bo\u015f dizeleri \u00f6zel olarak ele alman\u0131z gerekebilir.<br \/>\n* <strong>\u00d6zel karakterler:<\/strong> Dizede \u00f6zel karakterler varsa, do\u011fru e\u015fle\u015fme sa\u011flamak i\u00e7in ka\u00e7\u0131\u015f karakterleri kullanman\u0131z gerekebilir.<br \/>\n* <strong>\u00c7ok b\u00fcy\u00fck dosyalar:<\/strong> \u00c7ok b\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken, bellekte sorun ya\u015fayabilirsiniz.  Bu durumda, dosyay\u0131 sat\u0131r sat\u0131r okuyarak i\u015flem yapman\u0131z gerekebilir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash&#8217;te bir dizenin belirli bir de\u011ferle bitip bitmedi\u011fini kontrol etmek i\u00e7in \u00e7e\u015fitli y\u00f6ntemler vard\u0131r.  Se\u00e7ti\u011finiz y\u00f6ntem, uygulama senaryonuza ve performans gereksinimlerinize ba\u011fl\u0131 olacakt\u0131r.  Basit senaryolar i\u00e7in <code class=\"language-\">case<\/code> ifadesi yeterli olabilirken, daha karma\u015f\u0131k senaryolar i\u00e7in <code class=\"language-\">expr<\/code>, <code class=\"language-\">[[ ]]<\/code>, <code class=\"language-\">grep<\/code> veya daha geli\u015fmi\u015f teknikler kullanman\u0131z gerekebilir.  Performans optimizasyonu i\u00e7in, gereksiz dize i\u015flemlerinden ka\u00e7\u0131nmal\u0131 ve m\u00fcmk\u00fcn oldu\u011funca verimli ara\u00e7lar kullanmal\u0131s\u0131n\u0131z.  [Fatih Soysal&#8217;\u0131n blogunda](https:\/\/fatihsoysal.com) Bash betikleri ve Linux sistem y\u00f6netimi hakk\u0131nda daha fazla bilgi bulabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">[[ ]]<\/code> ile <code class=\"language-\">[ ]<\/code> aras\u0131ndaki fark nedir?<\/strong> <code class=\"language-\">[[ ]]<\/code> daha g\u00fc\u00e7l\u00fc bir kar\u015f\u0131la\u015ft\u0131rma operat\u00f6r\u00fcd\u00fcr ve daha fazla \u00f6zellik sunar.  <code class=\"language-\">[ ]<\/code> ise daha eski bir y\u00f6ntemdir ve baz\u0131 durumlarda sorunlara yol a\u00e7abilir.<\/p>\n<p>2. <strong>D\u00fczenli ifadeler kullanman\u0131n avantajlar\u0131 nelerdir?<\/strong> D\u00fczenli ifadeler, karma\u015f\u0131k desen e\u015fle\u015ftirme i\u015flemleri i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131d\u0131r ve daha esnektir.<\/p>\n<p>3. <strong>Performans optimizasyonu i\u00e7in ba\u015fka ne yapabilirim?<\/strong>  Bellek kullan\u0131m\u0131n\u0131 azaltmak i\u00e7in, b\u00fcy\u00fck dosyalar\u0131 par\u00e7alar halinde i\u015fleyebilir veya daha az bellek t\u00fcketen algoritmalar kullanabilirsiniz.<\/p>\n<p>4. <strong><code class=\"language-\">find<\/code> komutu ile <code class=\"language-\">xargs<\/code> komutunu birlikte nas\u0131l kullan\u0131r\u0131m?<\/strong>  <code class=\"language-\">find<\/code> komutu, buldu\u011fu dosyalar\u0131n listesini <code class=\"language-\">xargs<\/code> komutuna g\u00f6nderir ve <code class=\"language-\">xargs<\/code> bu dosyalar\u0131 ba\u015fka komutlara parametre olarak iletir.  Bu, daha verimli bir i\u015flem sa\u011flar.<\/p>\n<p>5. <strong>Bir dizenin belirli bir de\u011ferle ba\u015flay\u0131p bitmedi\u011fini nas\u0131l kontrol ederim?<\/strong> D\u00fczenli ifadeler kullanarak veya <code class=\"language-\">expr<\/code> ile dizenin ba\u015flang\u0131\u00e7 ve biti\u015f k\u0131s\u0131mlar\u0131n\u0131 kontrol ederek bunu yapabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Bir Dizinin Belirli Bir De\u011ferle Bitip Bitmedi\u011fini Kontrol Etme Bir dosya i\u015flemi yaparken, bir web sunucusundan&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-28743","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: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir<\/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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-02T15:10:23+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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir\",\"datePublished\":\"2025-09-02T15:10:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\"},\"wordCount\":1050,\"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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\",\"name\":\"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-02T15:10:23+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir\"}]},{\"@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: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir","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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-02T15:10:23+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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir","datePublished":"2025-09-02T15:10:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/"},"wordCount":1050,"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-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/","name":"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-02T15:10:23+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-degerle-biten-bir-dizgi-nasil-kontrol-edilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Belirli Bir De\u011ferle Biten Bir Dizgi Nas\u0131l Kontrol Edilir"}]},{"@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\/28743","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=28743"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28743\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}