{"id":29240,"date":"2025-09-09T21:45:30","date_gmt":"2025-09-09T18:45:30","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/"},"modified":"2025-09-09T21:45:30","modified_gmt":"2025-09-09T18:45:30","slug":"bash-bos-olmayan-sutun-iceren-satirlari-filtreleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/","title":{"rendered":"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme"},"content":{"rendered":"<p># Bash: Bo\u015f Olmayan S\u00fctunlara Sahip Sat\u0131rlar\u0131 Filtreleme<\/p>\n<p>Veri i\u015flemede, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, belirli kriterlere g\u00f6re verileri filtrelemek olduk\u00e7a \u00f6nemlidir.  Bash komut sat\u0131r\u0131 arac\u0131, bu i\u015flemleri efektif bir \u015fekilde ger\u00e7ekle\u015ftirmemize olanak tan\u0131r. Bu makalede, Bash kullanarak bir dosyadaki bo\u015f olmayan s\u00fctunlara sahip sat\u0131rlar\u0131 nas\u0131l filtreleyece\u011finizi ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  Farkl\u0131 seviyelerdeki kullan\u0131c\u0131lar i\u00e7in \u00f6rnekler ve ipu\u00e7lar\u0131yla dolu kapsaml\u0131 bir rehber sunaca\u011f\u0131z.  \u00d6rne\u011fin, bir web sunucusunun log dosyas\u0131ndan sadece hata i\u00e7eren sat\u0131rlar\u0131 ay\u0131klamak veya bir veri taban\u0131ndan bo\u015f olmayan kullan\u0131c\u0131 adlar\u0131na sahip kay\u0131tlar\u0131 \u00e7ekmek gibi ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, Bash ile bo\u015f olmayan s\u00fctun filtrelemesini ad\u0131m ad\u0131m \u00f6\u011fretmek i\u00e7in farkl\u0131 seviyelere ayr\u0131lm\u0131\u015f bir yol haritas\u0131 sunar:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Temel komutlar, basit \u00f6rnekler ve ad\u0131m ad\u0131m a\u00e7\u0131klamalar.<\/p>\n<p><strong>Orta Seviye:<\/strong> Ger\u00e7ek hayat senaryolar\u0131, performans optimizasyonu ipu\u00e7lar\u0131 ve daha geli\u015fmi\u015f komutlar.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong> Performans analizi, edge case&#8217;ler ve karma\u015f\u0131k senaryolar i\u00e7in \u00e7\u00f6z\u00fcm \u00f6nerileri.<\/p>\n<p><strong>Temel Kavramlar:  <code class=\"language-\">awk<\/code>, <code class=\"language-\">grep<\/code>, ve <code class=\"language-\">sed<\/code> Komutlar\u0131<\/strong><\/p>\n<p>Bash&#8217;te veri filtrelemenin temel ta\u015flar\u0131ndan \u00fc\u00e7\u00fc <code class=\"language-\">awk<\/code>, <code class=\"language-\">grep<\/code> ve <code class=\"language-\">sed<\/code> komutlar\u0131d\u0131r.  Bu komutlar, metin dosyalar\u0131n\u0131 i\u015flemek ve belirli desenlere veya kriterlere uyan sat\u0131rlar\u0131 se\u00e7mek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>* <strong><code class=\"language-\">awk<\/code>:<\/strong>  Sat\u0131rlar\u0131 ve s\u00fctunlar\u0131 (alanlar\u0131) i\u015flemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  Alanlar genellikle bo\u015flukla veya sekmeyle ayr\u0131l\u0131r. <code class=\"language-\">awk<\/code> ile belirli alanlar\u0131n bo\u015f olup olmad\u0131\u011f\u0131n\u0131 kontrol edip, istedi\u011fimiz sat\u0131rlar\u0131 se\u00e7ebiliriz.<\/p>\n<p>* <strong><code class=\"language-\">grep<\/code>:<\/strong>  Belirli desenlere uyan sat\u0131rlar\u0131 bulmak i\u00e7in kullan\u0131l\u0131r.  D\u00fczenli ifadeler (regular expressions) ile karma\u015f\u0131k desenleri de arayabiliriz.  Bo\u015f olmayan bir s\u00fctun i\u00e7in, bo\u015fluk olmayan karakterler arayabiliriz.<\/p>\n<p>* <strong><code class=\"language-\">sed<\/code>:<\/strong>  Metin dosyalar\u0131nda de\u011fi\u015fiklik yapmak i\u00e7in kullan\u0131lan bir ak\u0131ll\u0131 d\u00fczenleyici.  <code class=\"language-\">sed<\/code> ile sat\u0131rlar\u0131 silebilir, de\u011fi\u015ftirebilir veya yeniden d\u00fczenleyebiliriz.  Bo\u015f s\u00fctunlar\u0131 i\u00e7eren sat\u0131rlar\u0131 silmek i\u00e7in <code class=\"language-\">sed<\/code> kullan\u0131labilir.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r? Bo\u015f Olmayan Bir S\u00fctuna Sahip Sat\u0131rlar\u0131 Filtreleme (Yeni Ba\u015flayan)<\/strong><\/p>\n<p>\u00d6ncelikle, basit bir \u00f6rnek \u00fczerinden ba\u015flayal\u0131m.  A\u015fa\u011f\u0131daki <code class=\"language-\">data.txt<\/code> dosyas\u0131n\u0131 ele alal\u0131m:<\/p>\n<pre class=\"language-\"><code>Ad Soyad  Ya\u015f \u015eehir\nAli  Veli 25 Ankara\nAy\u015fe  Nil  30 \u0130stanbul\nMehmet  - 28  \u0130zmir\nFatma  G\u00fcl  35<\/code><\/pre>\n<p>Bu dosyada, bo\u015f s\u00fctunlar i\u00e7eren sat\u0131rlar var.  \u00d6rne\u011fin, \u00fc\u00e7\u00fcnc\u00fc sat\u0131rda &#8220;Soyad&#8221; s\u00fctunu bo\u015f ve d\u00f6rd\u00fcnc\u00fc sat\u0131rda &#8220;\u015eehir&#8221; s\u00fctunu bo\u015f.  \u0130kinci s\u00fctunun bo\u015f olmad\u0131\u011f\u0131 sat\u0131rlar\u0131 filtrelemek i\u00e7in a\u015fa\u011f\u0131daki <code class=\"language-\">awk<\/code> komutunu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>awk '$2 != &quot;&quot;' data.txt<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">data.txt<\/code> dosyas\u0131ndaki her sat\u0131r\u0131 i\u015fler ve ikinci alan (<code class=\"language-\">$2<\/code>) bo\u015f de\u011filse (<code class=\"language-\">!= \"\"<\/code>) o sat\u0131r\u0131 ekrana yazd\u0131r\u0131r.  Sonu\u00e7 \u015fu \u015fekilde olacakt\u0131r:<\/p>\n<pre class=\"language-\"><code>Ad Soyad  Ya\u015f \u015eehir\nAli  Veli 25 Ankara\nAy\u015fe  Nil  30 \u0130stanbul\nFatma  G\u00fcl  35<\/code><\/pre>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r?  Farkl\u0131 Ay\u0131r\u0131c\u0131larla \u00c7al\u0131\u015fmak (Orta Seviye)<\/strong><\/p>\n<p>Veri dosyalar\u0131n\u0131zda bo\u015fluk yerine virg\u00fcl (CSV), sekme veya ba\u015fka bir karakter ay\u0131r\u0131c\u0131 kullan\u0131yor olabilir.  <code class=\"language-\">awk<\/code> komutunda <code class=\"language-\">-F<\/code> se\u00e7ene\u011fi ile ay\u0131r\u0131c\u0131y\u0131 belirleyebilirsiniz.  \u00d6rne\u011fin, virg\u00fclle ayr\u0131lm\u0131\u015f bir dosya i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>awk -F ',' '$2 != &quot;&quot;' data.csv<\/code><\/pre>\n<p>Burada <code class=\"language-\">-F ','<\/code> ile ay\u0131r\u0131c\u0131n\u0131n virg\u00fcl oldu\u011funu belirtiyoruz.  <code class=\"language-\">data.csv<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fi \u015fu \u015fekilde olabilir:<\/p>\n<pre class=\"language-\"><code>Ad,Soyad,Ya\u015f,\u015eehir\nAli,Veli,25,Ankara\nAy\u015fe,Nil,30,\u0130stanbul\nMehmet,,28,\u0130zmir\nFatma,G\u00fcl,35,<\/code><\/pre>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi: Web Sunucusu Log Dosyas\u0131 Analizi<\/strong><\/p>\n<p>Bir web sunucusunun log dosyas\u0131n\u0131 ele alal\u0131m.  Bu dosya, her istek i\u00e7in tarih, saat, IP adresi, istek t\u00fcr\u00fc, durum kodu ve daha bir\u00e7ok bilgi i\u00e7erir.  Sadece hata i\u00e7eren (\u00f6rne\u011fin, 4xx veya 5xx durum kodlar\u0131) istekleri filtrelemek isteyelim.  Log dosyas\u0131n\u0131n her sat\u0131r\u0131 bo\u015fluklarla ayr\u0131lm\u0131\u015f olsun.  Durum kodu genellikle sekizinci s\u00fctundur (<code class=\"language-\">$8<\/code>).<\/p>\n<pre class=\"language-bash\"><code>awk '$8 ~ \/^4\/ || $8 ~ \/^5\/' access.log<\/code><\/pre>\n<p>Bu komut, sekizinci s\u00fctun 4 ile veya 5 ile ba\u015fl\u0131yorsa (yani 4xx veya 5xx hata kodlar\u0131) o sat\u0131r\u0131 yazd\u0131r\u0131r.  <code class=\"language-\">~<\/code> operat\u00f6r\u00fc, d\u00fczenli ifade e\u015fle\u015fmesi i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>Performans Optimizasyonu \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>B\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken performans \u00f6nemlidir.  A\u015fa\u011f\u0131daki ipu\u00e7lar\u0131 performans\u0131 art\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r:<\/p>\n<p>* <strong><code class=\"language-\">awk<\/code>&#8216;\u0131n G\u00fcc\u00fcnden Yararlan\u0131n:<\/strong> <code class=\"language-\">awk<\/code> komutlar\u0131 genellikle <code class=\"language-\">grep<\/code> ve <code class=\"language-\">sed<\/code> kombinasyonlar\u0131ndan daha h\u0131zl\u0131d\u0131r, \u00e7\u00fcnk\u00fc tek bir i\u015flemde sat\u0131rlar\u0131 filtreleyebilir ve i\u015fleyecektir.<\/p>\n<p>* <strong>Gereksiz \u0130\u015flemlerden Ka\u00e7\u0131n\u0131n:<\/strong> Sadece gerekli s\u00fctunlar\u0131 i\u015flemek i\u00e7in <code class=\"language-\">awk<\/code>&#8216;ta s\u00fctun numaralar\u0131n\u0131 belirtin.<\/p>\n<p>* <strong>D\u00fczenli \u0130fadeleri Optimize Edin:<\/strong> Gereksiz karma\u015f\u0131k d\u00fczenli ifadelerden ka\u00e7\u0131n\u0131n.  Basit ve hedeflenen ifadeler kullan\u0131n.<\/p>\n<p>* <strong><code class=\"language-\">gawk<\/code> Kullan\u0131n:<\/strong> <code class=\"language-\">gawk<\/code> (GNU awk), daha h\u0131zl\u0131 ve daha fazla \u00f6zellik sunabilir.<\/p>\n<p>* <strong>Dosya \u0130\u015flemeyi Optimize Edin:<\/strong>  \u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">split<\/code> komutu ile dosyay\u0131 daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6l\u00fcp paralel i\u015flem yapabilirsiniz. Daha sonra sonu\u00e7lar\u0131 birle\u015ftirmeniz gerekecektir.<\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r?  Karma\u015f\u0131k Filtreleme ve Ko\u015fullar (\u0130leri Seviye)<\/strong><\/p>\n<p>Daha karma\u015f\u0131k filtreleme ko\u015fullar\u0131 i\u00e7in <code class=\"language-\">awk<\/code>&#8216;\u0131n mant\u0131ksal operat\u00f6rlerini (<code class=\"language-\">&&<\/code>, <code class=\"language-\">||<\/code>, <code class=\"language-\">!<\/code>) ve ko\u015fullu ifadelerini (<code class=\"language-\">if<\/code>, <code class=\"language-\">else<\/code>) kullanabilirsiniz.  \u00d6rne\u011fin, ikinci s\u00fctunun bo\u015f olmad\u0131\u011f\u0131 <strong>ve<\/strong> d\u00f6rd\u00fcnc\u00fc s\u00fctunun &#8220;Ankara&#8221; oldu\u011fu sat\u0131rlar\u0131 filtrelemek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>awk '$2 != &quot;&quot; &amp;&amp; $4 == &quot;Ankara&quot;' data.txt<\/code><\/pre>\n<p>Bu komut, hem ikinci s\u00fctunun bo\u015f olmamas\u0131n\u0131 hem de d\u00f6rd\u00fcnc\u00fc s\u00fctunun &#8220;Ankara&#8221; olmas\u0131n\u0131 gerektirir.<\/p>\n<p><strong>Edge Case&#8217;ler ve Hata Y\u00f6netimi<\/strong><\/p>\n<p>Veri dosyalar\u0131n\u0131z beklenmedik formatlarda veya hatalarla gelebilir.  Bu durumlar i\u00e7in hata y\u00f6netimi \u00f6nemlidir.  <code class=\"language-\">awk<\/code>&#8216;ta <code class=\"language-\">NR<\/code> de\u011fi\u015fkeni sat\u0131r numaras\u0131n\u0131 temsil eder.  Hata i\u00e7eren sat\u0131rlar\u0131 tespit etmek ve i\u015flemek i\u00e7in <code class=\"language-\">NR<\/code> de\u011fi\u015fkenini kullanabilirsiniz.  \u00d6rne\u011fin, bo\u015f bir sat\u0131r\u0131 tespit etmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>awk 'NF == 0 {print &quot;Bo\u015f sat\u0131r: &quot; NR}' data.txt<\/code><\/pre>\n<p>Bu komut, alan say\u0131s\u0131 (<code class=\"language-\">NF<\/code>) s\u0131f\u0131r olan sat\u0131rlar\u0131 (bo\u015f sat\u0131rlar) tespit eder ve sat\u0131r numaras\u0131n\u0131 yazd\u0131r\u0131r.<\/p>\n<p><strong>Performans Analizi ve Optimizasyon<\/strong><\/p>\n<p>B\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, komutlar\u0131n performans\u0131n\u0131 \u00f6l\u00e7mek \u00f6nemlidir.  <code class=\"language-\">time<\/code> komutu, komutlar\u0131n \u00e7al\u0131\u015fma s\u00fcresini \u00f6l\u00e7menize yard\u0131mc\u0131 olur.<\/p>\n<pre class=\"language-bash\"><code>time awk '$2 != &quot;&quot;' data.txt<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">awk<\/code> komutunun \u00e7al\u0131\u015fma s\u00fcresini \u00f6l\u00e7er.  Farkl\u0131 filtreleme y\u00f6ntemlerini kar\u015f\u0131la\u015ft\u0131rarak en h\u0131zl\u0131 olan\u0131 se\u00e7ebilirsiniz.  Ayr\u0131ca, <code class=\"language-\">awk<\/code> komutunu optimize ederek (gereksiz i\u015flemlerden ka\u00e7\u0131narak, daha etkili d\u00fczenli ifadeler kullanarak) performans\u0131 art\u0131rabilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bu makale, Bash kullanarak bo\u015f olmayan s\u00fctunlara sahip sat\u0131rlar\u0131 filtrelemenin farkl\u0131 y\u00f6ntemlerini ve ipu\u00e7lar\u0131n\u0131 ele ald\u0131.  <code class=\"language-\">awk<\/code>, <code class=\"language-\">grep<\/code> ve <code class=\"language-\">sed<\/code> komutlar\u0131n\u0131n g\u00fcc\u00fcnden yararlanarak, farkl\u0131 karma\u015f\u0131kl\u0131k seviyelerindeki veri filtreleme i\u015flemlerini ger\u00e7ekle\u015ftirebilirsiniz.  Veri analizi ve i\u015flemede performans optimizasyonu her zaman \u00f6nemlidir.  B\u00fcy\u00fck dosyalar i\u00e7in, dosyay\u0131 b\u00f6lmek ve paralel i\u015flem yapmak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.  Unutmay\u0131n ki, do\u011fru komut se\u00e7imi ve optimizasyon, verimlili\u011finizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.  Daha fazla ileri d\u00fczey Bash konusu i\u00e7in [Fatih Soysal&#8217;\u0131n bloguna](https:\/\/fatihsoysal.com) g\u00f6z atabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">awk<\/code> yerine <code class=\"language-\">grep<\/code> kullanabilir miyim?<\/strong>  Baz\u0131 basit durumlarda <code class=\"language-\">grep<\/code> kullan\u0131labilir, ancak <code class=\"language-\">awk<\/code> daha g\u00fc\u00e7l\u00fc ve esnektir, \u00f6zellikle birden fazla s\u00fctunla \u00e7al\u0131\u015f\u0131rken.<\/p>\n<p>2. <strong>\u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in nas\u0131l optimize edebilirim?<\/strong>  Dosyay\u0131 daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6l\u00fcn ve her par\u00e7ay\u0131 ayr\u0131 ayr\u0131 i\u015fleyin. Sonu\u00e7lar\u0131 daha sonra birle\u015ftirin.<\/p>\n<p>3. <strong>Ay\u0131r\u0131c\u0131 bo\u015fluk de\u011filse ne yapmal\u0131y\u0131m?<\/strong> <code class=\"language-\">awk<\/code>&#8216;\u0131n <code class=\"language-\">-F<\/code> se\u00e7ene\u011fini kullanarak ay\u0131r\u0131c\u0131y\u0131 belirtin.<\/p>\n<p>4. <strong>Bo\u015f olmayan bir s\u00fctunun varl\u0131\u011f\u0131n\u0131 nas\u0131l kontrol ederim?<\/strong>  <code class=\"language-\">awk<\/code>&#8216;ta <code class=\"language-\">NF<\/code> de\u011fi\u015fkenini kullanarak alan say\u0131s\u0131n\u0131 kontrol edebilir veya her s\u00fctunu bo\u015fluk olup olmad\u0131\u011f\u0131na g\u00f6re kontrol edebilirsiniz.<\/p>\n<p>5. <strong>Hata y\u00f6netimi nas\u0131l yap\u0131l\u0131r?<\/strong>  <code class=\"language-\">awk<\/code>&#8216;ta <code class=\"language-\">NR<\/code> de\u011fi\u015fkenini kullanarak hatal\u0131 sat\u0131rlar\u0131 tespit edebilir ve uygun \u015fekilde i\u015fleyebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash: Bo\u015f Olmayan S\u00fctunlara Sahip Sat\u0131rlar\u0131 Filtreleme Veri i\u015flemede, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, belirli kriterlere g\u00f6re&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-29240","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: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme<\/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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-09T18:45:30+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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme\",\"datePublished\":\"2025-09-09T18:45:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\"},\"wordCount\":1269,\"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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\",\"name\":\"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-09T18:45:30+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme\"}]},{\"@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: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme","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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-09T18:45:30+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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme","datePublished":"2025-09-09T18:45:30+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/"},"wordCount":1269,"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-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/","name":"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-09T18:45:30+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-bos-olmayan-sutun-iceren-satirlari-filtreleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Bo\u015f Olmayan S\u00fctun \u0130\u00e7eren Sat\u0131rlar\u0131 Filtreleme"}]},{"@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\/29240","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=29240"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29240\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}