{"id":28680,"date":"2025-09-01T21:10:24","date_gmt":"2025-09-01T18:10:24","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/"},"modified":"2025-09-01T21:10:24","modified_gmt":"2025-09-01T18:10:24","slug":"bash-bir-metinden-ilk-sayiyi-cikarma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/","title":{"rendered":"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma"},"content":{"rendered":"<p># Bash&#8217;te Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma<\/p>\n<p>Metin i\u00e7indeki say\u0131lar\u0131 i\u015flemek, \u00f6zellikle sistem y\u00f6netimi ve otomasyonunda s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir ihtiya\u00e7t\u0131r.  Log dosyalar\u0131ndan veri \u00e7ekmek, sistem performans\u0131n\u0131 izlemek veya konfig\u00fcrasyon dosyalar\u0131n\u0131 i\u015flemek gibi bir\u00e7ok senaryoda, metin i\u00e7indeki ilk say\u0131y\u0131 do\u011fru ve h\u0131zl\u0131 bir \u015fekilde ay\u0131klamak kritik \u00f6neme sahiptir. Bu makalede, Bash beti\u011finde bir metinden ilk say\u0131y\u0131 nas\u0131l \u00e7\u0131karaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m, yeni ba\u015flayanlardan ileri d\u00fczey kullan\u0131c\u0131lara kadar geni\u015f bir yelpazede ele alaca\u011f\u0131z.  Farkl\u0131 y\u00f6ntemleri, performans optimizasyonlar\u0131n\u0131 ve olas\u0131 sorunlar\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, Bash&#8217;te metinden ilk say\u0131y\u0131 \u00e7\u0131karma konusunda kademeli bir \u00f6\u011frenme yol haritas\u0131 sunar:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong> Basit <code class=\"language-\">grep<\/code>, <code class=\"language-\">sed<\/code> ve <code class=\"language-\">awk<\/code> komutlar\u0131yla ilk say\u0131y\u0131 \u00e7\u0131karma.<\/p>\n<p><strong>Orta Seviye:<\/strong> Ger\u00e7ek d\u00fcnya \u00f6rnekleri,  daha karma\u015f\u0131k metinlerle ba\u015fa \u00e7\u0131kma stratejileri ve performans optimizasyon ipu\u00e7lar\u0131.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong>  Performans kar\u015f\u0131la\u015ft\u0131rmalar\u0131,  edge case&#8217;ler (k\u00f6\u015fe durumlar\u0131) ve regex kullan\u0131m\u0131yla daha geli\u015fmi\u015f \u00e7\u00f6z\u00fcmler.<\/p>\n<p><strong>Bash Temelleri:  <code class=\"language-\">grep<\/code>, <code class=\"language-\">sed<\/code> ve <code class=\"language-\">awk<\/code> Tan\u0131t\u0131m\u0131<\/strong><\/p>\n<p>Bash betiklerinde metin i\u015fleme i\u00e7in en yayg\u0131n kullan\u0131lan \u00fc\u00e7 komut <code class=\"language-\">grep<\/code>, <code class=\"language-\">sed<\/code> ve <code class=\"language-\">awk<\/code>&#8216;t\u0131r. Bu komutlar\u0131n temel i\u015flevlerini anlamak, metinden ilk say\u0131y\u0131 \u00e7\u0131karmak i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<p>* <strong><code class=\"language-\">grep<\/code>:<\/strong> Belirli bir kal\u0131b\u0131 (pattern) i\u00e7eren sat\u0131rlar\u0131 bulmak i\u00e7in kullan\u0131l\u0131r. Say\u0131lar\u0131 bulmak i\u00e7in say\u0131sal kal\u0131plar kullanabiliriz.  \u00d6rne\u011fin, <code class=\"language-\">grep -oE '[0-9]+'<\/code> komutu, bir sat\u0131rdaki t\u00fcm say\u0131lar\u0131 ayr\u0131 ayr\u0131 sat\u0131rlarda listeler.<\/p>\n<p>* <strong><code class=\"language-\">sed<\/code>:<\/strong> Metin ak\u0131\u015f\u0131n\u0131 d\u00fczenlemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  <code class=\"language-\">sed<\/code> ile metni de\u011fi\u015ftirme, silme, ekleme ve di\u011fer d\u00fczenleme i\u015flemlerini yapabiliriz.  Say\u0131lar\u0131 ay\u0131klamak i\u00e7in <code class=\"language-\">sed<\/code>&#8216;in <code class=\"language-\">s\/\/\/<\/code> (substitution) komutunu kullanabiliriz.<\/p>\n<p>* <strong><code class=\"language-\">awk<\/code>:<\/strong> Metinleri sat\u0131r ve s\u00fctunlara b\u00f6lerek i\u015flemek i\u00e7in idealdir.  <code class=\"language-\">awk<\/code> g\u00fc\u00e7l\u00fc bir programlama dili gibi \u00e7al\u0131\u015f\u0131r ve karma\u015f\u0131k metin i\u015flemlerini kolayla\u015ft\u0131r\u0131r.  Say\u0131lar\u0131 ay\u0131klamak i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131n de\u011fi\u015fkenler, ko\u015fullar ve d\u00f6ng\u00fcler gibi \u00f6zelliklerini kullanabiliriz.<\/p>\n<p><strong>Yeni Ba\u015flayanlar \u0130\u00e7in: \u0130lk Say\u0131y\u0131 \u00c7\u0131karmak<\/strong><\/p>\n<p>Yeni ba\u015flayanlar i\u00e7in basit bir yakla\u015f\u0131m, <code class=\"language-\">grep<\/code> ve <code class=\"language-\">cut<\/code> komutlar\u0131n\u0131n birle\u015fimiyle ilk say\u0131y\u0131 ay\u0131klamakt\u0131r.  A\u015fa\u011f\u0131daki \u00f6rnekte,  <code class=\"language-\">metin.txt<\/code> dosyas\u0131nda ilk say\u0131y\u0131 bulup yazd\u0131raca\u011f\u0131z:<\/p>\n<pre class=\"language-bash\"><code>grep -oE '[0-9]+' metin.txt | head -n 1<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">metin.txt<\/code> dosyas\u0131ndaki t\u00fcm say\u0131lar\u0131 (<code class=\"language-\">grep -oE '[0-9]+'<\/code>) bulur ve her say\u0131y\u0131 ayr\u0131 bir sat\u0131ra yazar.  <code class=\"language-\">head -n 1<\/code> komutu ise sadece ilk sat\u0131r\u0131 (yani ilk say\u0131y\u0131) al\u0131r.<\/p>\n<p><strong>\u00d6rnek <code class=\"language-\">metin.txt<\/code> dosyas\u0131:<\/strong><\/p>\n<pre class=\"language-\"><code>Bu metinde 123 say\u0131s\u0131 var, ayr\u0131ca 456 ve 789.<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131: <code class=\"language-\">123<\/code> olacakt\u0131r.<\/p>\n<p>Bu y\u00f6ntem basit olsa da, metinde say\u0131 i\u00e7ermeyen sat\u0131rlar varsa veya say\u0131lar bo\u015fluklarla ayr\u0131lmam\u0131\u015fsa do\u011fru sonu\u00e7 vermeyebilir.<\/p>\n<p><strong>Orta Seviye: Ger\u00e7ek D\u00fcnya \u00d6rnekleri ve Optimizasyon<\/strong><\/p>\n<p>Ger\u00e7ek d\u00fcnya senaryolar\u0131nda, metinler daha karma\u015f\u0131k olabilir.  \u00d6rne\u011fin, log dosyalar\u0131nda say\u0131lar noktalama i\u015faretleri veya di\u011fer karakterlerle kar\u0131\u015f\u0131k olabilir.  Bu durumlarda, daha geli\u015fmi\u015f y\u00f6ntemler kullanmak gerekebilir.<\/p>\n<p><strong>\u00d6rnek Senaryo:<\/strong> Bir web sunucusunun log dosyas\u0131ndan ilk istek say\u0131s\u0131n\u0131 ay\u0131klamak.<\/p>\n<p>Log dosyas\u0131 (<code class=\"language-\">access.log<\/code>) a\u015fa\u011f\u0131daki gibi olsun:<\/p>\n<pre class=\"language-\"><code>192.168.1.1 - - [23\/Oct\/2023:10:00:00 +0300] &quot;GET \/index.html HTTP\/1.1&quot; 200 1234\n192.168.1.2 - - [23\/Oct\/2023:10:01:00 +0300] &quot;POST \/data HTTP\/1.1&quot; 201 5678<\/code><\/pre>\n<p>\u0130lk istek say\u0131s\u0131n\u0131 ay\u0131klamak i\u00e7in <code class=\"language-\">awk<\/code> kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>awk '{print $10; exit}' access.log<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">access.log<\/code> dosyas\u0131n\u0131n her sat\u0131r\u0131n\u0131 al\u0131r ve 10. s\u00fctunu (istek boyutu) yazd\u0131r\u0131r. <code class=\"language-\">exit<\/code> komutu, sadece ilk sat\u0131r\u0131 i\u015fleyerek performans\u0131 art\u0131r\u0131r.  \u00c7\u0131kt\u0131: <code class=\"language-\">1234<\/code> olacakt\u0131r.<\/p>\n<p><strong>Performans Optimizasyonu:<\/strong> B\u00fcy\u00fck dosyalar i\u00e7in, <code class=\"language-\">awk<\/code>&#8216;\u0131n <code class=\"language-\">exit<\/code> komutu ile birlikte kullan\u0131lmas\u0131, t\u00fcm dosyay\u0131 okuma gereksinimini ortadan kald\u0131rarak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<\/p>\n<p><strong>\u0130leri D\u00fczey: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p>Daha karma\u015f\u0131k senaryolar i\u00e7in, d\u00fczenli ifadeler (regular expressions &#8211; regex) kullanabiliriz.  Regex, metin i\u00e7indeki karma\u015f\u0131k kal\u0131plar\u0131 tan\u0131mlamam\u0131z\u0131 sa\u011flar.  \u00d6rne\u011fin, metin i\u00e7indeki ilk say\u0131y\u0131, ondal\u0131k say\u0131lar da dahil olmak \u00fczere ay\u0131klamak i\u00e7in a\u015fa\u011f\u0131daki regex&#8217;i kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>grep -oE '[0-9]+(\\.[0-9]+)?' metin.txt | head -n 1<\/code><\/pre>\n<p>Bu komut, tam say\u0131lar\u0131 veya ondal\u0131k say\u0131lar\u0131 (<code class=\"language-\">[0-9]+(\\.[0-9]+)?<\/code>) bulur ve ilk buldu\u011fu say\u0131y\u0131 yazd\u0131r\u0131r.<\/p>\n<p><strong>Edge Case&#8217;ler:<\/strong>  Metinde hi\u00e7 say\u0131 yoksa veya say\u0131lar beklenmedik bir formattaysa, komutlar\u0131n beklenmedik sonu\u00e7lar \u00fcretmesi olas\u0131d\u0131r. Bu durumlar\u0131 ele almak i\u00e7in hata y\u00f6netimi mekanizmalar\u0131 eklemek \u00f6nemlidir.  \u00d6rne\u011fin, <code class=\"language-\">grep<\/code> komutunun \u00e7\u0131kt\u0131s\u0131n\u0131n bo\u015f olup olmad\u0131\u011f\u0131n\u0131 kontrol edebiliriz:<\/p>\n<pre class=\"language-bash\"><code>sayi=$(grep -oE '[0-9]+' metin.txt | head -n 1)\nif [ -z &quot;$sayi&quot; ]; then\n  echo &quot;Metinde say\u0131 bulunamad\u0131.&quot;\nelse\n  echo &quot;\u0130lk say\u0131: $sayi&quot;\nfi<\/code><\/pre>\n<p>Bu kod blo\u011fu, metinde say\u0131 yoksa bir hata mesaj\u0131 g\u00f6sterir, aksi takdirde ilk say\u0131y\u0131 yazd\u0131r\u0131r.<\/p>\n<p><strong>Farkl\u0131 Y\u00f6ntemlerin Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/strong><\/p>\n<p>Farkl\u0131 y\u00f6ntemlerin performans\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rmak i\u00e7in, b\u00fcy\u00fck bir metin dosyas\u0131 \u00fczerinde testler yapmak faydal\u0131d\u0131r.  <code class=\"language-\">time<\/code> komutu, komutlar\u0131n \u00e7al\u0131\u015fma s\u00fcresini \u00f6l\u00e7mek i\u00e7in kullan\u0131labilir.  Genel olarak, <code class=\"language-\">awk<\/code> ve <code class=\"language-\">sed<\/code> komutlar\u0131, <code class=\"language-\">grep<\/code> ve <code class=\"language-\">cut<\/code> kombinasyonundan daha h\u0131zl\u0131 \u00e7al\u0131\u015f\u0131r, \u00f6zellikle b\u00fcy\u00fck dosyalar i\u00e7in. Ancak,  regex kullan\u0131m\u0131 performans\u0131 etkileyebilir.  En uygun y\u00f6ntem, metnin yap\u0131s\u0131na ve performans gereksinimlerine ba\u011fl\u0131d\u0131r.  [Fatih Soysal&#8217;\u0131n sitesi](https:\/\/fatihsoysal.com) \u00fczerinde performans optimizasyonu hakk\u0131nda daha detayl\u0131 bilgi bulabilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash&#8217;te metinden ilk say\u0131y\u0131 ay\u0131klamak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur.  Yeni ba\u015flayanlar i\u00e7in basit <code class=\"language-\">grep<\/code> ve <code class=\"language-\">cut<\/code> kombinasyonu yeterli olabilirken, daha karma\u015f\u0131k senaryolar i\u00e7in <code class=\"language-\">awk<\/code> ve regex kullan\u0131m\u0131 daha etkilidir.  Performans optimizasyonu i\u00e7in, b\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131n <code class=\"language-\">exit<\/code> komutu ile kullan\u0131lmas\u0131 \u00f6nerilir.  Hata y\u00f6netimi ve edge case&#8217;leri dikkate almak da \u00f6nemlidir.  Uygun y\u00f6ntemi se\u00e7erken, metnin yap\u0131s\u0131 ve performans gereksinimleri g\u00f6z \u00f6n\u00fcnde bulundurulmal\u0131d\u0131r.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/strong><\/p>\n<p>1. <strong>Metinde birden fazla say\u0131 varsa ne olur?<\/strong>  Yukar\u0131daki y\u00f6ntemler sadece ilk say\u0131y\u0131 ay\u0131klar.  T\u00fcm say\u0131lar\u0131 ay\u0131klamak i\u00e7in <code class=\"language-\">grep -oE '[0-9]+'<\/code> komutunu <code class=\"language-\">head<\/code> komutu olmadan kullanabilirsiniz.<\/p>\n<p>2. <strong>Ondal\u0131k say\u0131lar nas\u0131l i\u015flenir?<\/strong>  Regex kullanarak ondal\u0131k say\u0131lar\u0131 da i\u00e7eren bir kal\u0131p tan\u0131mlayabilirsiniz (\u00f6rne\u011fin, <code class=\"language-\">[0-9]+(\\.[0-9]+)?<\/code>).<\/p>\n<p>3. <strong>Negatif say\u0131lar nas\u0131l ele al\u0131n\u0131r?<\/strong> Regex&#8217;i <code class=\"language-\">-?[0-9]+(\\.[0-9]+)?<\/code> \u015feklinde de\u011fi\u015ftirerek negatif say\u0131lar\u0131 da i\u00e7erebilirsiniz.<\/p>\n<p>4. <strong>Say\u0131lar metin i\u00e7inde farkl\u0131 formatlarda ise ne yapmal\u0131y\u0131m?<\/strong>  Bu durumda, daha karma\u015f\u0131k regex&#8217;ler veya  <code class=\"language-\">awk<\/code>&#8216;\u0131n daha geli\u015fmi\u015f \u00f6zellikleri kullan\u0131labilir.<\/p>\n<p>5. <strong>\u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong>  <code class=\"language-\">awk<\/code> ile birlikte <code class=\"language-\">exit<\/code> komutunu kullanarak, dosyan\u0131n sadece ilk sat\u0131r\u0131n\u0131 i\u015flemesini sa\u011flayabilirsiniz.  Ayr\u0131ca,  <code class=\"language-\">xargs<\/code> gibi ara\u00e7lar\u0131 kullanarak i\u015flemi paralel olarak \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma Metin i\u00e7indeki say\u0131lar\u0131 i\u015flemek, \u00f6zellikle sistem y\u00f6netimi ve otomasyonunda s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z&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-28680","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 Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma<\/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-metinden-ilk-sayiyi-cikarma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-01T18: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-bir-metinden-ilk-sayiyi-cikarma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma\",\"datePublished\":\"2025-09-01T18:10:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\"},\"wordCount\":1090,\"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-metinden-ilk-sayiyi-cikarma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\",\"name\":\"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-01T18:10:24+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma\"}]},{\"@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 Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma","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-metinden-ilk-sayiyi-cikarma\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-01T18: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-bir-metinden-ilk-sayiyi-cikarma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma","datePublished":"2025-09-01T18:10:24+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/"},"wordCount":1090,"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-metinden-ilk-sayiyi-cikarma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/","name":"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-01T18:10:24+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bir-metinden-ilk-sayiyi-cikarma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Bir Metinden \u0130lk Say\u0131y\u0131 \u00c7\u0131karma"}]},{"@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\/28680","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=28680"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28680\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}