{"id":28875,"date":"2025-09-04T15:10:25","date_gmt":"2025-09-04T12:10:25","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/"},"modified":"2025-09-04T15:10:25","modified_gmt":"2025-09-04T12:10:25","slug":"bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/","title":{"rendered":"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma"},"content":{"rendered":"<p># Bash&#8217;te Belirli Bir Karakterden \u00d6nceki Alt Dizinin Nas\u0131l \u00c7\u0131kar\u0131laca\u011f\u0131?<\/p>\n<p><strong>Meta A\u00e7\u0131klamas\u0131:<\/strong> Bash komut sat\u0131r\u0131nda belirli bir karakterden \u00f6nceki alt dizeyi \u00e7\u0131karmak i\u00e7in pratik y\u00f6ntemler \u00f6\u011frenin.  <code class=\"language-\">cut<\/code>, <code class=\"language-\">sed<\/code>, <code class=\"language-\">awk<\/code> ve <code class=\"language-\">substring<\/code> gibi ara\u00e7lar\u0131 kullanarak verimli \u00e7\u00f6z\u00fcmler ke\u015ffedin. Ger\u00e7ek d\u00fcnya \u00f6rnekleri ve performans optimizasyonu ipu\u00e7lar\u0131yla uzman olun!<\/p>\n<p>G\u00fcnl\u00fck Bash komut dosyalar\u0131n\u0131zda veya komut sat\u0131r\u0131 i\u015flemlerinizde s\u0131kl\u0131kla belirli bir karakterden \u00f6nceki bir alt dizeyi ay\u0131klama ihtiyac\u0131 duyabilirsiniz. \u00d6rne\u011fin, bir dosya ad\u0131ndan uzant\u0131y\u0131, bir e-posta adresinden kullan\u0131c\u0131 ad\u0131n\u0131 veya bir log dosyas\u0131ndan bir tarih bilgisini ay\u0131klamak isteyebilirsiniz. Bu makalede, Bash&#8217;te bu i\u015flemi ger\u00e7ekle\u015ftirmenin farkl\u0131 y\u00f6ntemlerini, performans optimizasyonlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 ele alaca\u011f\u0131z.  Ba\u015flang\u0131\u00e7 seviyesinden ileri seviyeye kadar ad\u0131m ad\u0131m bir rehber sunarak, bu konudaki uzmanl\u0131\u011f\u0131n\u0131z\u0131 geli\u015ftirece\u011fiz.<\/p>\n<p><strong>1. Temel Kavramlar: Bash ve Alt Dize \u0130\u015flemleri<\/strong><\/p>\n<p>Bash, Unix tabanl\u0131 i\u015fletim sistemlerinde kullan\u0131lan g\u00fc\u00e7l\u00fc bir komut yorumlay\u0131c\u0131s\u0131d\u0131r.  Metin i\u015fleme konusunda olduk\u00e7a yeteneklidir ve \u00e7e\u015fitli ara\u00e7lar kullanarak alt dize i\u015flemlerini kolayca ger\u00e7ekle\u015ftirebiliriz.  Bu ara\u00e7lar aras\u0131nda <code class=\"language-\">cut<\/code>, <code class=\"language-\">sed<\/code>, <code class=\"language-\">awk<\/code> ve parametre geni\u015fletme gibi y\u00f6ntemler bulunur.  Bu y\u00f6ntemlerin her birinin kendine \u00f6zg\u00fc avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r ve hangi y\u00f6ntemi se\u00e7ece\u011finiz, verilerinizin yap\u0131s\u0131na ve performans gereksinimlerinize ba\u011fl\u0131d\u0131r.<\/p>\n<p>Alt dize, bir dizenin bir par\u00e7as\u0131d\u0131r.  Belirli bir karakterden \u00f6nceki alt dizeyi \u00e7\u0131karmak ise, hedef karaktere kadar olan b\u00f6l\u00fcm\u00fc ay\u0131klama i\u015flemidir. \u00d6rne\u011fin, &#8220;fatihsoysal@example.com&#8221; dizisinde &#8220;@&#8221; karakterinden \u00f6nceki alt dize &#8220;fatihsoysal&#8221; d\u0131r.<\/p>\n<p><strong>2.  Bash&#8217;te Alt Dizeyi \u00c7\u0131karma: Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m K\u0131lavuz<\/strong><\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131:<\/strong> Yeni Ba\u015flayan \u2192 Orta \u2192 \u0130leri D\u00fczey<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<p>Bu b\u00f6l\u00fcmde, <code class=\"language-\">cut<\/code> komutunu kullanarak basit bir alt dize \u00e7\u0131karma i\u015flemini ger\u00e7ekle\u015ftirece\u011fiz. <code class=\"language-\">cut<\/code> komutu, bir dosyan\u0131n veya dizenin belirli b\u00f6l\u00fcmlerini ay\u0131klamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong>  &#8220;fatihsoysal.txt&#8221; dosya ad\u0131ndan &#8220;.txt&#8221; uzant\u0131s\u0131n\u0131 \u00e7\u0131karmak istiyoruz.<\/p>\n<pre class=\"language-bash\"><code>filename=&quot;fatihsoysal.txt&quot;\nextension=&quot;${filename%.*}&quot;  # Parametre geni\u015fletme ile noktadan \u00f6nceki k\u0131sm\u0131 al\u0131r\necho &quot;$extension&quot;          # \u00c7\u0131kt\u0131: fatihsoysal<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">%.*<\/code> parametre geni\u015fletmesi, dizinin sonundaki &#8220;.&#8221; ve sonras\u0131ndaki t\u00fcm karakterleri kald\u0131r\u0131r.  Daha basit bir yakla\u015f\u0131m ise <code class=\"language-\">cut<\/code> komutudur:<\/p>\n<pre class=\"language-bash\"><code>echo &quot;fatihsoysal.txt&quot; | cut -d '.' -f 1<\/code><\/pre>\n<p>Bu komut, &#8220;.&#8221; karakterini ay\u0131r\u0131c\u0131 (<code class=\"language-\">-d '.'<\/code>) olarak kullan\u0131r ve ilk alan\u0131 (<code class=\"language-\">-f 1<\/code>) ekrana yazar.<\/p>\n<p><strong>3.  Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi: Log Dosyalar\u0131ndan Tarih Bilgisinin \u00c7\u0131kar\u0131lmas\u0131 (Orta Seviye)<\/strong><\/p>\n<p>Orta seviyede, ger\u00e7ek d\u00fcnya senaryolar\u0131na bakal\u0131m.  Bir log dosyas\u0131ndan tarih bilgisini \u00e7\u0131karmay\u0131 ele alal\u0131m.  Log dosyam\u0131z \u015f\u00f6yle olsun:<\/p>\n<pre class=\"language-\"><code>2024-10-27 10:30:00 - Bilgi: Sistem ba\u015flat\u0131ld\u0131.\n2024-10-27 10:35:00 - Hata: Ba\u011flant\u0131 hatas\u0131.<\/code><\/pre>\n<p>Bu log dosyas\u0131ndan sadece tarih bilgisini ay\u0131klamak i\u00e7in <code class=\"language-\">awk<\/code> komutunu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>awk '{print $1}' log_dosyasi.txt<\/code><\/pre>\n<p>Bu komut, her sat\u0131r\u0131 bo\u015fluklara g\u00f6re ay\u0131r\u0131r (<code class=\"language-\">$1<\/code> ilk alan\u0131 temsil eder) ve sadece tarih bilgisini yazd\u0131r\u0131r.  Daha spesifik bir ay\u0131r\u0131c\u0131 kullanmak isterseniz <code class=\"language-\">-F<\/code> se\u00e7ene\u011fini kullanabilirsiniz:<\/p>\n<pre class=\"language-bash\"><code>awk -F ' ' '{print $1}' log_dosyasi.txt<\/code><\/pre>\n<p>Bu, bo\u015flu\u011fu ay\u0131r\u0131c\u0131 olarak belirtir.  Performans optimizasyonu i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131n tek sat\u0131rl\u0131k i\u015flemler i\u00e7in daha verimli oldu\u011funu unutmay\u0131n.<\/p>\n<p><strong>4.  Sed ile Daha Karma\u015f\u0131k Alt Dize \u0130\u015flemleri (Orta Seviye)<\/strong><\/p>\n<p><code class=\"language-\">sed<\/code> komutu, daha karma\u015f\u0131k alt dize i\u015flemleri i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  \u00d6rne\u011fin, belirli bir karakterden \u00f6nceki alt dizeyi \u00e7\u0131karmak i\u00e7in <code class=\"language-\">sed<\/code>&#8216;in <code class=\"language-\">s<\/code> (de\u011fi\u015ftirme) komutunu kullanabiliriz.<\/p>\n<pre class=\"language-bash\"><code>echo &quot;fatihsoysal@example.com&quot; | sed 's\/@.*\/\/'<\/code><\/pre>\n<p>Bu komut, &#8220;@&#8221; karakterinden sonraki t\u00fcm karakterleri (&#8220;@.*&#8221;) bo\u015f bir dizeyle de\u011fi\u015ftirir (<code class=\"language-\">\/\/<\/code>), b\u00f6ylece sadece &#8220;fatihsoysal&#8221; kal\u0131r.<\/p>\n<p><strong>5.  Performans Optimizasyonu ve \u0130leri D\u00fczey Teknikler (\u0130leri D\u00fczey)<\/strong><\/p>\n<p>Daha b\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken performans \u00f6nemlidir.  <code class=\"language-\">xargs<\/code> komutu ile <code class=\"language-\">cut<\/code> veya <code class=\"language-\">awk<\/code> komutlar\u0131n\u0131 birle\u015ftirerek performans\u0131 art\u0131rabilirsiniz.  A\u015fa\u011f\u0131daki \u00f6rnekte, b\u00fcy\u00fck bir dosyadan belirli bir karakterden \u00f6nceki alt dizeleri ay\u0131klamak i\u00e7in <code class=\"language-\">xargs<\/code> kullan\u0131lm\u0131\u015ft\u0131r:<\/p>\n<pre class=\"language-bash\"><code>cat b\u00fcy\u00fck_dosya.txt | xargs -n 1 bash -c 'echo &quot;$1&quot; | cut -d &quot;:&quot; -f 1'<\/code><\/pre>\n<p>Bu komut, her sat\u0131r\u0131 ayr\u0131 bir <code class=\"language-\">bash<\/code> i\u015flemine g\u00f6ndererek paralel i\u015fleme sa\u011flar.  Ancak, bu y\u00f6ntem \u00e7ok say\u0131da k\u00fc\u00e7\u00fck i\u015flem olu\u015fturdu\u011fu i\u00e7in, \u00e7ok b\u00fcy\u00fck dosyalarda a\u015f\u0131r\u0131 y\u00fcklenmeye neden olabilir.  B\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">awk<\/code> veya <code class=\"language-\">perl<\/code> gibi daha g\u00fc\u00e7l\u00fc ara\u00e7lar daha uygun olabilir.  <code class=\"language-\">awk<\/code>&#8216;\u0131n <code class=\"language-\">substr()<\/code> fonksiyonu da kullan\u0131labilir:<\/p>\n<pre class=\"language-awk\"><code>{print substr($0,1,index($0,&quot;@&quot;)-1)}<\/code><\/pre>\n<p>Bu komut, sat\u0131r\u0131n ba\u015f\u0131ndan (@ i\u015faretinin indeksinden 1 eksik kadar olan k\u0131sm\u0131n\u0131 yazd\u0131r\u0131r.<\/p>\n<p><strong>6.  Edge Case&#8217;ler ve Hata Y\u00f6netimi (\u0130leri D\u00fczey)<\/strong><\/p>\n<p>Hedef karakterin bulunmad\u0131\u011f\u0131 durumlar gibi edge case&#8217;leri ele almal\u0131y\u0131z.  \u00d6rne\u011fin,  &#8220;@&#8221;&#8221; karakteri olmayan bir e-posta adresi i\u00e7in kodumuzun nas\u0131l davranaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnmeliyiz.  Hata y\u00f6netimi i\u00e7in <code class=\"language-\">if<\/code> ko\u015fullar\u0131 kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>email=&quot;fatihsoysal&quot;\nif [[ &quot;$email&quot; == *&quot;@&quot;* ]]; then\n  echo &quot;$email&quot; | sed 's\/@.*\/\/'\nelse\n  echo &quot;Ge\u00e7ersiz e-posta adresi&quot;\nfi<\/code><\/pre>\n<p>Bu kod, &#8220;@&#8221;&#8221; karakterinin olup olmad\u0131\u011f\u0131n\u0131 kontrol eder ve buna g\u00f6re i\u015flem yapar.<\/p>\n<p><strong>7.  Parametre Geni\u015fletme ile Daha Verimli \u00c7\u00f6z\u00fcmler (\u0130leri D\u00fczey)<\/strong><\/p>\n<p>Bash&#8217;in g\u00fc\u00e7l\u00fc parametre geni\u015fletme \u00f6zelli\u011fi, alt dize i\u015flemlerini daha verimli bir \u015fekilde ger\u00e7ekle\u015ftirmemize olanak tan\u0131r.  \u00d6rne\u011fin, <code class=\"language-\">#<\/code> operat\u00f6r\u00fc, dizinin ba\u015f\u0131ndaki karakterleri kald\u0131r\u0131rken, <code class=\"language-\">%%<\/code> operat\u00f6r\u00fc sonundaki karakterleri kald\u0131r\u0131r.<\/p>\n<pre class=\"language-bash\"><code>string=&quot;prefix_fatihsoysal_suffix&quot;\necho &quot;${string#prefix_}&quot;  # \u00c7\u0131kt\u0131: fatihsoysal_suffix\necho &quot;${string%%_suffix}&quot; # \u00c7\u0131kt\u0131: prefix_fatihsoysal<\/code><\/pre>\n<p>Bu y\u00f6ntemler, \u00f6zellikle belirli bir \u00f6n ek veya son ekten kurtulmak istedi\u011finizde \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>8.  Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131 ve Se\u00e7im Kriterleri<\/strong><\/p>\n<p>Hangi y\u00f6ntemi kullanaca\u011f\u0131n\u0131z, verilerinizin yap\u0131s\u0131na ve performans gereksinimlerinize ba\u011fl\u0131d\u0131r.  K\u00fc\u00e7\u00fck dosyalar i\u00e7in <code class=\"language-\">cut<\/code> veya parametre geni\u015fletme yeterli olabilir.  Daha b\u00fcy\u00fck dosyalar veya karma\u015f\u0131k i\u015flemler i\u00e7in <code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> daha uygun olabilir.  <code class=\"language-\">xargs<\/code> ile paralel i\u015fleme, b\u00fcy\u00fck dosyalarda performans\u0131 art\u0131rabilir, ancak a\u015f\u0131r\u0131 y\u00fcklenmeye dikkat etmelisiniz.  [Fatih Soysal&#8217;\u0131n Bash performans optimizasyonu hakk\u0131ndaki yaz\u0131lar\u0131](https:\/\/fatihsoysal.com) bu konuda daha fazla bilgi sa\u011flayabilir.<\/p>\n<p><strong>9.  Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, Bash&#8217;te belirli bir karakterden \u00f6nceki alt dizenin nas\u0131l \u00e7\u0131kar\u0131laca\u011f\u0131n\u0131 farkl\u0131 y\u00f6ntemlerle inceledik.  <code class=\"language-\">cut<\/code>, <code class=\"language-\">sed<\/code>, <code class=\"language-\">awk<\/code> ve parametre geni\u015fletme gibi ara\u00e7lar\u0131 kullanarak, \u00e7e\u015fitli senaryolara uygun \u00e7\u00f6z\u00fcmler geli\u015ftirdik.  Performans optimizasyonu ve hata y\u00f6netimi teknikleri \u00fczerinde durarak, daha sa\u011flam ve verimli Bash komut dosyalar\u0131 yazman\u0131z i\u00e7in gerekli bilgiyi sa\u011flad\u0131k.  Unutmay\u0131n ki do\u011fru y\u00f6ntemi se\u00e7mek, verilerinizin yap\u0131s\u0131 ve performans gereksinimleri g\u00f6z \u00f6n\u00fcnde bulundurularak yap\u0131lmal\u0131d\u0131r.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/strong><\/p>\n<p>1. <strong>Hangi y\u00f6ntem daha h\u0131zl\u0131d\u0131r?<\/strong>  Genellikle, parametre geni\u015fletme en h\u0131zl\u0131d\u0131r, ard\u0131ndan <code class=\"language-\">cut<\/code> ve <code class=\"language-\">awk<\/code> gelir.  <code class=\"language-\">sed<\/code> daha karma\u015f\u0131k i\u015flemler i\u00e7in daha yava\u015f olabilir.  Ancak, performans, veri k\u00fcmesinin boyutuna ve sistem \u00f6zelliklerine ba\u011fl\u0131 olarak de\u011fi\u015fir.<\/p>\n<p>2. <strong>\u00c7oklu karakterleri ay\u0131r\u0131c\u0131 olarak nas\u0131l kullanabilirim?<\/strong>  <code class=\"language-\">sed<\/code> ve <code class=\"language-\">awk<\/code>  d\u00fczenli ifadeleri destekler, bu sayede daha karma\u015f\u0131k ay\u0131r\u0131c\u0131lar\u0131 kullanabilirsiniz.<\/p>\n<p>3. <strong>Hata y\u00f6netimi nas\u0131l iyile\u015ftirilebilir?<\/strong>  <code class=\"language-\">if<\/code> ko\u015fullar\u0131 ve hata kontrol mekanizmalar\u0131 kullanarak, beklenmedik durumlar\u0131 ele alabilir ve program\u0131n\u0131z\u0131n \u00e7\u00f6kmesini \u00f6nleyebilirsiniz.<\/p>\n<p>4. <strong>B\u00fcy\u00fck dosyalarda performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong>  <code class=\"language-\">xargs<\/code> ile paralel i\u015fleme veya <code class=\"language-\">awk<\/code> veya <code class=\"language-\">perl<\/code> gibi daha g\u00fc\u00e7l\u00fc ara\u00e7lar kullanabilirsiniz.<\/p>\n<p>5. <strong>Daha fazla bilgi nerede bulabilirim?<\/strong>  Bash&#8217;in geli\u015fmi\u015f kullan\u0131m\u0131n\u0131 \u00f6\u011frenmek i\u00e7in [Fatih Soysal&#8217;\u0131n web sitesini](https:\/\/fatihsoysal.com) ziyaret edebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Belirli Bir Karakterden \u00d6nceki Alt Dizinin Nas\u0131l \u00c7\u0131kar\u0131laca\u011f\u0131? Meta A\u00e7\u0131klamas\u0131: Bash komut sat\u0131r\u0131nda belirli bir karakterden&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-28875","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 Karakterden \u00d6nceki Alt Dizgiyi \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-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-04T12:10:25+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma\",\"datePublished\":\"2025-09-04T12:10:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\"},\"wordCount\":1173,\"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-karakterden-onceki-alt-dizgiyi-cikarma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\",\"name\":\"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-04T12:10:25+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \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: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \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-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-04T12:10:25+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma","datePublished":"2025-09-04T12:10:25+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/"},"wordCount":1173,"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-karakterden-onceki-alt-dizgiyi-cikarma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/","name":"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \u00c7\u0131karma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-04T12:10:25+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-belirli-bir-karakterden-onceki-alt-dizgiyi-cikarma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Belirli Bir Karakterden \u00d6nceki Alt Dizgiyi \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\/28875","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=28875"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28875\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}