{"id":27959,"date":"2025-08-21T09:10:26","date_gmt":"2025-08-21T06:10:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/"},"modified":"2025-09-01T18:09:13","modified_gmt":"2025-09-01T15:09:13","slug":"sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/","title":{"rendered":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme"},"content":{"rendered":"<p># sed ile Her Sat\u0131r\u0131n Sonuna Metin Ekleme: Tam Bir Rehber<\/p>\n<p>Log dosyalar\u0131n\u0131 analiz etmekten, b\u00fcy\u00fck metin dosyalar\u0131n\u0131 d\u00fczenlemeye kadar bir\u00e7ok g\u00f6revde, belirli bir kal\u0131ba uyan sat\u0131rlar\u0131n sonuna metin eklemek gerekebilir.  <code class=\"language-\">sed<\/code> (stream editor) komutu, bu t\u00fcr g\u00f6revleri h\u0131zl\u0131 ve verimli bir \u015fekilde ger\u00e7ekle\u015ftirmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu rehberde, <code class=\"language-\">sed<\/code> kullanarak belirli bir kal\u0131ba uyan sat\u0131rlar\u0131n sonuna metin eklemeyi ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz.  Farkl\u0131 seviyelerdeki kullan\u0131c\u0131lar i\u00e7in ayr\u0131nt\u0131l\u0131 \u00f6rnekler ve ipu\u00e7lar\u0131 sunaca\u011f\u0131z.<\/p>\n<p><strong>Giri\u015f:  Neden sed&#8217;i Kullanmal\u0131y\u0131z?<\/strong><\/p>\n<p>Bir web sunucusunun log dosyas\u0131n\u0131 ele alal\u0131m.  Her sat\u0131r bir istek kayd\u0131 i\u00e7eriyor ve siz sadece belirli bir dosya t\u00fcr\u00fcne (\u00f6rne\u011fin, <code class=\"language-\">.jpg<\/code>) yap\u0131lan istekleri analiz etmek istiyorsunuz.  Bu durumda, her <code class=\"language-\">.jpg<\/code> i\u00e7eren sat\u0131r\u0131 bulup, \u00f6rne\u011fin, &#8220;G\u00f6r\u00fcnt\u00fc \u0130ste\u011fi&#8221; metnini eklemek i\u015finizi olduk\u00e7a kolayla\u015ft\u0131racakt\u0131r.  Bu tarz g\u00f6revlerde <code class=\"language-\">sed<\/code>&#8216;in g\u00fcc\u00fc ortaya \u00e7\u0131kar.  Manuel olarak binlerce sat\u0131r\u0131 kontrol etmek yerine, <code class=\"language-\">sed<\/code> ile tek bir komutla bu i\u015flemi h\u0131zl\u0131 ve hatas\u0131z bir \u015fekilde ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<p><strong>Temel Kavramlar: sed Komutunun Yap\u0131s\u0131<\/strong><\/p>\n<p><code class=\"language-\">sed<\/code> komutu, temelde bir d\u00fczenleyici olarak \u00e7al\u0131\u015f\u0131r, ancak dosyalar\u0131 do\u011frudan de\u011fi\u015ftirmek yerine, standart \u00e7\u0131kt\u0131da de\u011fi\u015ftirilmi\u015f i\u00e7eri\u011fi \u00fcretir. Bu, orijinal dosyay\u0131 koruman\u0131z i\u00e7in \u00f6nemli bir g\u00fcvenlik \u00f6nlemidir.  Temel yap\u0131s\u0131 \u015fu \u015fekildedir:<\/p>\n<pre class=\"language-bash\"><code>sed 'komut' dosya_adi<\/code><\/pre>\n<p><code class=\"language-\">komut<\/code> k\u0131sm\u0131, <code class=\"language-\">sed<\/code>&#8216;e ne yapaca\u011f\u0131n\u0131 s\u00f6yler.  Bizim i\u00e7in \u00f6nemli olan komut <code class=\"language-\">s<\/code> (substitute &#8211; de\u011fi\u015ftirme) komutudur.  Bu komut, belirli bir kal\u0131b\u0131 ba\u015fka bir kal\u0131pla de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r.  Kal\u0131plar genellikle d\u00fczenli ifadeler (regular expressions) kullanarak tan\u0131mlan\u0131r.<\/p>\n<p><strong>Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m A\u00e7\u0131klama<\/strong><\/p>\n<p><strong>Ad\u0131m 1:<\/strong>  Basit bir \u00f6rnek ile ba\u015flayal\u0131m.  <code class=\"language-\">test.txt<\/code> ad\u0131nda bir dosya olu\u015fturup i\u00e7ine \u015fu sat\u0131rlar\u0131 yazal\u0131m:<\/p>\n<pre class=\"language-\"><code>Elma\nArmut\nKiraz\nElma\nMuz<\/code><\/pre>\n<p><strong>Ad\u0131m 2:<\/strong>  \u015eimdi, &#8220;Elma&#8221; kelimesini i\u00e7eren her sat\u0131r\u0131n sonuna &#8220;-G\u00fczel&#8221; ekleyelim:<\/p>\n<pre class=\"language-bash\"><code>sed 's\/Elma\/Elma-G\u00fczel\/' test.txt<\/code><\/pre>\n<p>Bu komut, her &#8220;Elma&#8221; kelimesini &#8220;Elma-G\u00fczel&#8221; ile de\u011fi\u015ftirir.  <code class=\"language-\">s<\/code> komutu, <code class=\"language-\">\/<\/code> karakterleri ile ayr\u0131lm\u0131\u015f \u00fc\u00e7 b\u00f6l\u00fcmden olu\u015fur:  <code class=\"language-\">aranan_kal\u0131p<\/code>, <code class=\"language-\">de\u011fi\u015ftirilecek_kal\u0131p<\/code> ve <code class=\"language-\">bayraklar<\/code>.  Biz burada herhangi bir bayrak kullanmad\u0131k.<\/p>\n<p><strong>Ad\u0131m 3:<\/strong>  E\u011fer her sat\u0131r\u0131n sonuna ekleme yapmak istiyorsak, dolar i\u015fareti (<code class=\"language-\">$<\/code>) kullanmal\u0131y\u0131z.  A\u015fa\u011f\u0131daki komut, her sat\u0131r\u0131n sonuna &#8220;-Meyve&#8221; ekler:<\/p>\n<pre class=\"language-bash\"><code>sed 's\/$\/ -Meyve\/' test.txt<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">$<\/code> (sat\u0131r sonu) kal\u0131b\u0131n\u0131 &#8221; -Meyve&#8221; ile de\u011fi\u015ftirir.<\/p>\n<p><strong>Orta Seviye: Ger\u00e7ek Hayat \u00d6rne\u011fi ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>\u015eimdi daha ger\u00e7ek\u00e7i bir senaryoya bakal\u0131m.  Bir web sunucusunun log dosyas\u0131n\u0131 ele alal\u0131m ve sadece <code class=\"language-\">.php<\/code> uzant\u0131l\u0131 dosyalara yap\u0131lan istekleri bulup, sonuna &#8220;PHP \u0130ste\u011fi&#8221; eklemek isteyelim.  Log dosyam\u0131z <code class=\"language-\">access.log<\/code> olsun ve baz\u0131 sat\u0131rlar\u0131 \u015fu \u015fekilde olsun:<\/p>\n<pre class=\"language-\"><code>192.168.1.1 - - [23\/Oct\/2024:10:00:00 +0300] &quot;GET \/index.php HTTP\/1.1&quot; 200 1234\n192.168.1.2 - - [23\/Oct\/2024:10:01:00 +0300] &quot;GET \/images\/logo.jpg HTTP\/1.1&quot; 200 5678\n192.168.1.1 - - [23\/Oct\/2024:10:02:00 +0300] &quot;GET \/contact.php HTTP\/1.1&quot; 200 3456<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki komut, <code class=\"language-\">.php<\/code> uzant\u0131l\u0131 dosyalar\u0131 i\u00e7eren sat\u0131rlar\u0131n sonuna &#8220;PHP \u0130ste\u011fi&#8221; ekler:<\/p>\n<pre class=\"language-bash\"><code>sed 's\/\\(.*\\.php\\)\/\\1 PHP \u0130ste\u011fi\/' access.log<\/code><\/pre>\n<p>Burada <code class=\"language-\">\\(.*\\.php\\)<\/code> parantezler i\u00e7indeki ifade, <code class=\"language-\">.php<\/code> ile biten bir dizgiyi yakalar ve <code class=\"language-\">\\1<\/code> ile bu yakalanan k\u0131sm\u0131 tekrar kullan\u0131r\u0131z.  Bu, orijinal sat\u0131r\u0131 de\u011fi\u015ftirmeden sonuna metin eklememizi sa\u011flar.<\/p>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* <strong><code class=\"language-\">-i<\/code> bayra\u011f\u0131:<\/strong>  <code class=\"language-\">sed -i 'komut' dosya_adi<\/code>  ile dosyay\u0131 do\u011frudan d\u00fczenleyebilirsiniz. Ancak,  yanl\u0131\u015fl\u0131kla dosyan\u0131z\u0131 bozmamak i\u00e7in yedek almay\u0131 unutmay\u0131n!<br \/>\n* <strong><code class=\"language-\">-r<\/code> bayra\u011f\u0131:<\/strong>  Uzun ve karma\u015f\u0131k d\u00fczenli ifadeler i\u00e7in <code class=\"language-\">-r<\/code> bayra\u011f\u0131 kullanarak daha okunakl\u0131 d\u00fczenli ifadeler yazabilirsiniz.  Bu \u00f6zellikle daha karma\u015f\u0131k senaryolarda i\u015finizi kolayla\u015ft\u0131r\u0131r.<br \/>\n* <strong><code class=\"language-\">sed<\/code>&#8216;i pipe ile kullanma:<\/strong>  <code class=\"language-\">grep<\/code> gibi di\u011fer komutlarla birlikte kullanarak daha karma\u015f\u0131k filtreleme i\u015flemleri yapabilirsiniz.  \u00d6rne\u011fin, sadece hata i\u00e7eren sat\u0131rlara metin eklemek i\u00e7in <code class=\"language-\">grep<\/code> ile hata mesajlar\u0131n\u0131 filtreleyip sonucunu <code class=\"language-\">sed<\/code>&#8216;e y\u00f6nlendirebilirsiniz.<\/p>\n<p><strong>\u0130leri D\u00fczey: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p>\u00c7ok b\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken, <code class=\"language-\">sed<\/code>&#8216;in performans\u0131 \u00f6nemli hale gelir.  B\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">sed<\/code>&#8216;in performans\u0131n\u0131 art\u0131rmak i\u00e7in birka\u00e7 y\u00f6ntem vard\u0131r:<\/p>\n<p>* <strong>Paralelle\u015ftirme:<\/strong>  B\u00fcy\u00fck dosyalar\u0131 daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6l\u00fcp, her par\u00e7ay\u0131 ayr\u0131 bir <code class=\"language-\">sed<\/code> i\u015flemiyle i\u015flemek ve sonu\u00e7lar\u0131 birle\u015ftirmek performans\u0131 art\u0131rabilir.  Bu, <code class=\"language-\">split<\/code> ve <code class=\"language-\">xargs<\/code> komutlar\u0131 ile yap\u0131labilir.<br \/>\n* <strong><code class=\"language-\">sed<\/code>&#8216;in farkl\u0131 varyantlar\u0131:<\/strong>  Baz\u0131 sistemlerde, GNU <code class=\"language-\">sed<\/code> yerine daha h\u0131zl\u0131 \u00e7al\u0131\u015fan farkl\u0131 <code class=\"language-\">sed<\/code> varyantlar\u0131 mevcut olabilir.  Performans kar\u015f\u0131la\u015ft\u0131rmalar\u0131 yaparak en uygun olan\u0131n\u0131 se\u00e7ebilirsiniz.<br \/>\n* <strong>Bellek kullan\u0131m\u0131:<\/strong>  <code class=\"language-\">sed<\/code>&#8216;in bellek kullan\u0131m\u0131, i\u015flenen verinin b\u00fcy\u00fckl\u00fc\u011f\u00fcne ba\u011fl\u0131d\u0131r.  B\u00fcy\u00fck dosyalar i\u00e7in daha az bellek kullanan alternatif \u00e7\u00f6z\u00fcmler ara\u015ft\u0131rabilirsiniz (\u00f6rne\u011fin, <code class=\"language-\">awk<\/code>).<\/p>\n<p><strong>Edge Case&#8217;ler:<\/strong><\/p>\n<p>* <strong>\u00d6zel karakterler:<\/strong>  D\u00fczenli ifadelerde \u00f6zel karakterleri (\u00f6rne\u011fin, <code class=\"language-\">.<\/code> <code class=\"language-\">*<\/code> <code class=\"language-\">+<\/code> <code class=\"language-\">?<\/code>)  ka\u00e7\u0131\u015f karakteri (<code class=\"language-\">\\<\/code>) ile kullanman\u0131z gerekebilir.<br \/>\n* <strong>\u00c7ok sat\u0131rl\u0131 kal\u0131plar:<\/strong>  <code class=\"language-\">sed<\/code>&#8216;in temel versiyonu \u00e7ok sat\u0131rl\u0131 kal\u0131plar\u0131 desteklemez.  Daha geli\u015fmi\u015f i\u015flevsellik i\u00e7in <code class=\"language-\">perl<\/code> veya <code class=\"language-\">awk<\/code> gibi ara\u00e7lar\u0131 kullanman\u0131z gerekebilir.<br \/>\n* <strong>Karakter kodlamas\u0131:<\/strong>  Dosyan\u0131z\u0131n karakter kodlamas\u0131 (UTF-8, Latin-1 vb.) <code class=\"language-\">sed<\/code>&#8216;in do\u011fru \u00e7al\u0131\u015fmas\u0131 i\u00e7in \u00f6nemlidir.  Yanl\u0131\u015f kodlama, beklenmedik sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<p><strong>Nas\u0131l B\u00fcy\u00fck Dosyalarda Performans\u0131 Optimize Ederim?<\/strong><\/p>\n<p>B\u00fcy\u00fck dosyalarda <code class=\"language-\">sed<\/code>&#8216;in performans\u0131n\u0131 optimize etmek i\u00e7in, \u00f6ncelikle dosyay\u0131 daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6lmeyi deneyin.  <code class=\"language-\">split<\/code> komutu ile bunu kolayca yapabilirsiniz.  Sonras\u0131nda, <code class=\"language-\">xargs<\/code> komutu ile her par\u00e7ay\u0131 ayr\u0131 bir <code class=\"language-\">sed<\/code> i\u015flemine y\u00f6nlendirebilirsiniz.  Bu, paralel i\u015flem yapman\u0131z\u0131 ve i\u015flem s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde k\u0131saltman\u0131z\u0131 sa\u011flar.  Ayr\u0131ca, <code class=\"language-\">-i<\/code> bayra\u011f\u0131n\u0131 kullanarak do\u011frudan dosya \u00fczerinde de\u011fi\u015fiklik yapmaktan ka\u00e7\u0131nman\u0131z, yedekleme yapman\u0131z ve i\u015flem sonras\u0131nda do\u011frulama yapman\u0131z \u00f6nemlidir.  Performans testleri yaparak, hangi y\u00f6ntemin sizin sisteminiz i\u00e7in en uygun oldu\u011funu belirleyebilirsiniz.<\/p>\n<p><strong>Nas\u0131l Karma\u015f\u0131k D\u00fczenli \u0130fadelerle \u00c7al\u0131\u015f\u0131r\u0131m?<\/strong><\/p>\n<p>Karma\u015f\u0131k d\u00fczenli ifadelerle \u00e7al\u0131\u015f\u0131rken, okunabilirli\u011fi art\u0131rmak i\u00e7in parantezleri (<code class=\"language-\">()<\/code>), gruplama operat\u00f6rlerini ve  <code class=\"language-\">-r<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n.  <code class=\"language-\">-r<\/code> bayra\u011f\u0131, geni\u015fletilmi\u015f d\u00fczenli ifadeleri destekler ve daha okunakl\u0131 ifadeler yazman\u0131za olanak tan\u0131r.  Karma\u015f\u0131k ifadeleri test etmek ve do\u011frulamak i\u00e7in d\u00fczenli ifade test ara\u00e7lar\u0131n\u0131 kullanabilirsiniz.  Ayr\u0131ca, yorum ekleyerek kodun anla\u015f\u0131l\u0131rl\u0131\u011f\u0131n\u0131 art\u0131rabilirsiniz.  \u00d6rnek olarak, bir telefon numaras\u0131 kal\u0131b\u0131n\u0131 yakalamak i\u00e7in <code class=\"language-\">-r<\/code> bayra\u011f\u0131 ile birlikte parantez ve gruplama kullanabilirsiniz:  <code class=\"language-\">sed -r 's\/Telefon: (\\d{3})-(\\d{3})-(\\d{4})\/Telefon: \\1-\\2-\\3 (Yeni Format)\/'<\/code><\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p><code class=\"language-\">sed<\/code> komutu, metin dosyalar\u0131n\u0131 d\u00fczenlemek i\u00e7in g\u00fc\u00e7l\u00fc ve verimli bir ara\u00e7t\u0131r.  Bu rehberde, <code class=\"language-\">sed<\/code>&#8216;i kullanarak belirli bir kal\u0131ba uyan sat\u0131rlar\u0131n sonuna metin eklemeyi \u00f6\u011frendik.  Farkl\u0131 seviyelerdeki kullan\u0131c\u0131lar i\u00e7in ayr\u0131nt\u0131l\u0131 \u00f6rnekler ve ipu\u00e7lar\u0131 sunarak, <code class=\"language-\">sed<\/code>&#8216;in yeteneklerini ke\u015ffetmenize yard\u0131mc\u0131 olduk.  B\u00fcy\u00fck dosyalarda performans optimizasyonu ve karma\u015f\u0131k d\u00fczenli ifadelerle \u00e7al\u0131\u015fma konusunda ipu\u00e7lar\u0131 verdik.  Unutmay\u0131n,  <code class=\"language-\">sed<\/code>&#8216;i etkili bir \u015fekilde kullanmak, d\u00fczenli ifadeleri anlamak ve do\u011fru komutlar\u0131 kullanmakla ilgilidir.  Daha fazla bilgi ve ileri teknikler i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) adresini ziyaret edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">sed<\/code> komutu dosyay\u0131 do\u011frudan de\u011fi\u015ftirir mi?<\/strong> Hay\u0131r, varsay\u0131lan olarak standart \u00e7\u0131kt\u0131da de\u011fi\u015ftirilmi\u015f i\u00e7eri\u011fi \u00fcretir.  <code class=\"language-\">-i<\/code> bayra\u011f\u0131 ile dosyay\u0131 do\u011frudan de\u011fi\u015ftirebilirsiniz, ancak dikkatli kullanman\u0131z gerekir.<\/p>\n<p>2. <strong><code class=\"language-\">sed<\/code>&#8216;de d\u00fczenli ifadeler nas\u0131l kullan\u0131l\u0131r?<\/strong>  <code class=\"language-\">sed<\/code>&#8216;de d\u00fczenli ifadeler <code class=\"language-\">s<\/code> komutunda <code class=\"language-\">\/<\/code> karakterleri ile ayr\u0131lm\u0131\u015f olarak kullan\u0131l\u0131r.  Daha karma\u015f\u0131k ifadeler i\u00e7in <code class=\"language-\">-r<\/code> bayra\u011f\u0131 kullan\u0131labilir.<\/p>\n<p>3. <strong>B\u00fcy\u00fck dosyalarda <code class=\"language-\">sed<\/code>&#8216;in performans\u0131n\u0131 nas\u0131l art\u0131rabilirim?<\/strong>  Dosyay\u0131 par\u00e7alara b\u00f6l\u00fcp paralel i\u015flem yapmak,  daha h\u0131zl\u0131 <code class=\"language-\">sed<\/code> varyantlar\u0131n\u0131 kullanmak veya alternatif ara\u00e7lar (\u00f6rne\u011fin, <code class=\"language-\">awk<\/code>) kullanmak performans\u0131 art\u0131rabilir.<\/p>\n<p>4. <strong><code class=\"language-\">sed<\/code> komutunda hata ald\u0131\u011f\u0131mda ne yapmal\u0131y\u0131m?<\/strong>  Hata mesaj\u0131n\u0131 dikkatlice inceleyin ve do\u011fru komutu kulland\u0131\u011f\u0131n\u0131zdan emin olun.  D\u00fczenli ifadenizi kontrol edin ve \u00f6zel karakterleri ka\u00e7\u0131rmay\u0131 unutmay\u0131n.<\/p>\n<p>5. <strong><code class=\"language-\">sed<\/code> ile \u00e7ok sat\u0131rl\u0131 kal\u0131plar\u0131 nas\u0131l i\u015fleyebilirim?<\/strong>  <code class=\"language-\">sed<\/code>&#8216;in temel versiyonu \u00e7ok sat\u0131rl\u0131 kal\u0131plar\u0131 desteklemez.  <code class=\"language-\">perl<\/code> veya <code class=\"language-\">awk<\/code> gibi ara\u00e7lar\u0131 kullanabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# sed ile Her Sat\u0131r\u0131n Sonuna Metin Ekleme: Tam Bir Rehber Log dosyalar\u0131n\u0131 analiz etmekten, b\u00fcy\u00fck metin dosyalar\u0131n\u0131&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":[1374],"tags":[],"class_list":{"0":"post-27959","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-sed","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>sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme<\/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\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-21T06:10:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-01T15:09:13+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\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme\",\"datePublished\":\"2025-08-21T06:10:26+00:00\",\"dateModified\":\"2025-09-01T15:09:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\"},\"wordCount\":1319,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Sed\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\",\"name\":\"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-21T06:10:26+00:00\",\"dateModified\":\"2025-09-01T15:09:13+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme\"}]},{\"@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":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme","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\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/","og_locale":"tr_TR","og_type":"article","og_title":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-21T06:10:26+00:00","article_modified_time":"2025-09-01T15:09:13+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\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme","datePublished":"2025-08-21T06:10:26+00:00","dateModified":"2025-09-01T15:09:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/"},"wordCount":1319,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Sed"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/","url":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/","name":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-21T06:10:26+00:00","dateModified":"2025-09-01T15:09:13+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sed-ile-kaliba-uyan-her-satirin-sonuna-metin-ekleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"sed ile Kal\u0131ba Uyan Her Sat\u0131r\u0131n Sonuna Metin Ekleme"}]},{"@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\/27959","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=27959"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27959\/revisions"}],"predecessor-version":[{"id":28614,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27959\/revisions\/28614"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}