{"id":26678,"date":"2025-07-29T03:45:29","date_gmt":"2025-07-29T00:45:29","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/"},"modified":"2025-09-01T18:33:40","modified_gmt":"2025-09-01T15:33:40","slug":"bash-birden-cok-dosyada-belirli-metni-degistirme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/","title":{"rendered":"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme"},"content":{"rendered":"<p># Bash ile Birden \u00c7ok Dosyada Metin De\u011fi\u015ftirme: Kapsaml\u0131 Bir Rehber<\/p>\n<p>Birden fazla dosyada ayn\u0131 metni de\u011fi\u015ftirmeniz mi gerekiyor?  Y\u00fczlerce dosyan\u0131n i\u00e7indeki bir kelimeyi, bir ifadeyi ya da bir kodu g\u00fcncellemek, manuel olarak yap\u0131ld\u0131\u011f\u0131nda zaman al\u0131c\u0131 ve hata yapmaya m\u00fcsait bir i\u015ftir.  \u0130\u015fte tam bu noktada Bash betikleri devreye giriyor. Bu makalede, Bash kullanarak birden \u00e7ok dosyada belirli metinleri nas\u0131l h\u0131zl\u0131 ve etkili bir \u015fekilde de\u011fi\u015ftirebilece\u011finizi, yeni ba\u015flayanlardan ileri d\u00fczey kullan\u0131c\u0131lara kadar kademeli bir yakla\u015f\u0131mla \u00f6\u011freneceksiniz.  Farkl\u0131 senaryolar i\u00e7in optimize edilmi\u015f \u00e7\u00f6z\u00fcmler ve performans ipu\u00e7lar\u0131 ile donat\u0131lm\u0131\u015f bu kapsaml\u0131 rehber, Bash becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131man\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p><strong>Bash Temelleri: sed ve find Komutlar\u0131<\/strong><\/p>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, temel Bash komutlar\u0131 hakk\u0131nda bilgi sahibi olman\u0131z faydal\u0131 olacakt\u0131r. \u00d6zellikle <code class=\"language-\">sed<\/code> (stream editor) ve <code class=\"language-\">find<\/code> komutlar\u0131n\u0131 iyi anlamak \u00e7ok \u00f6nemlidir. <code class=\"language-\">sed<\/code>, dosyalar\u0131n i\u00e7eri\u011fini d\u00fczenlemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r; <code class=\"language-\">find<\/code>, belirli kriterlere uyan dosyalar\u0131 bulmak i\u00e7in kullan\u0131l\u0131r.  Bu iki komutu birle\u015ftirerek, birden \u00e7ok dosyada metin de\u011fi\u015ftirme i\u015flemini otomatikle\u015ftirebiliriz.<\/p>\n<p><strong>1. Yeni Ba\u015flayanlar \u0130\u00e7in: Basit Metin De\u011fi\u015ftirme<\/strong><\/p>\n<p><strong>Nas\u0131l <code class=\"language-\">sed<\/code> komutunu basit bir metin de\u011fi\u015ftirme i\u015flemi i\u00e7in kullan\u0131r\u0131m?<\/strong><\/p>\n<p>En basit senaryoda,  <code class=\"language-\">sed<\/code> komutu ile tek bir dosyada metin de\u011fi\u015ftirebiliriz.  \u00d6rne\u011fin, &#8220;eski_metin&#8221; ifadesini &#8220;yeni_metin&#8221; ile de\u011fi\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>sed 's\/eski_metin\/yeni_metin\/g' dosya_adi.txt<\/code><\/pre>\n<p><code class=\"language-\">s<\/code> bayra\u011f\u0131 de\u011fi\u015ftirme i\u015flemini belirtir, <code class=\"language-\">\/<\/code> karakterleri ay\u0131r\u0131c\u0131 olarak kullan\u0131l\u0131r (ba\u015fka karakterler de kullan\u0131labilir), <code class=\"language-\">g<\/code> bayra\u011f\u0131 ise t\u00fcm e\u015fle\u015fmeleri de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r (yoksa sadece ilk e\u015fle\u015fme de\u011fi\u015ftirilir).  Bu komut, dosyay\u0131 do\u011frudan de\u011fi\u015ftirmez; de\u011fi\u015fiklikleri ekrana yazd\u0131r\u0131r.  De\u011fi\u015fiklikleri dosyaya kaydetmek i\u00e7in <code class=\"language-\">-i<\/code> se\u00e7ene\u011fini kullanman\u0131z gerekir (uyar\u0131: bu se\u00e7enek dosyay\u0131 do\u011frudan de\u011fi\u015ftirir, yedek almay\u0131 unutmay\u0131n!):<\/p>\n<pre class=\"language-bash\"><code>sed -i 's\/eski_metin\/yeni_metin\/g' dosya_adi.txt<\/code><\/pre>\n<p><strong>\u00d6rnek:<\/strong>  &#8220;Merhaba D\u00fcnya!&#8221; yazan bir <code class=\"language-\">mesaj.txt<\/code> dosyas\u0131nda &#8220;D\u00fcnya&#8221; kelimesini &#8220;Ay&#8221; ile de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>sed -i 's\/D\u00fcnya\/Ay\/g' mesaj.txt<\/code><\/pre>\n<p><strong>2. Orta Seviye: Birden \u00c7ok Dosyada Metin De\u011fi\u015ftirme<\/strong><\/p>\n<p><strong>Birden \u00e7ok dosyada metin de\u011fi\u015ftirmek i\u00e7in <code class=\"language-\">find<\/code> ve <code class=\"language-\">sed<\/code> komutlar\u0131n\u0131 nas\u0131l birle\u015ftirebilirim?<\/strong><\/p>\n<p><code class=\"language-\">find<\/code> komutu ile belirli bir dizindeki t\u00fcm dosyalar\u0131 bulup, <code class=\"language-\">sed<\/code> komutu ile her bir dosyadaki metni de\u011fi\u015ftirebiliriz.  \u00d6rne\u011fin, &#8220;projeler&#8221; dizini alt\u0131ndaki t\u00fcm <code class=\"language-\">.txt<\/code> dosyalar\u0131nda &#8220;eski_metin&#8221; ifadesini &#8220;yeni_metin&#8221; ile de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>find projeler -name &quot;*.txt&quot; -exec sed -i 's\/eski_metin\/yeni_metin\/g' {} \\;<\/code><\/pre>\n<p><code class=\"language-\">find<\/code> komutu, &#8220;projeler&#8221; dizini alt\u0131nda t\u00fcm <code class=\"language-\">.txt<\/code> dosyalar\u0131n\u0131 bulur. <code class=\"language-\">-exec<\/code> se\u00e7ene\u011fi, her bulunan dosya i\u00e7in <code class=\"language-\">sed<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131r. <code class=\"language-\">{}<\/code> sembol\u00fc, <code class=\"language-\">find<\/code> komutu taraf\u0131ndan bulunan dosya ad\u0131n\u0131 temsil eder ve <code class=\"language-\">\\;<\/code>  <code class=\"language-\">-exec<\/code> se\u00e7ene\u011finin sonunu belirtir.<\/p>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi:<\/strong> Bir web sitesinin t\u00fcm HTML dosyalar\u0131nda eski bir logo ba\u011flant\u0131s\u0131n\u0131 yeni bir logo ba\u011flant\u0131s\u0131 ile de\u011fi\u015ftirmek.  &#8220;web_sayfasi&#8221; dizini alt\u0131nda t\u00fcm <code class=\"language-\">.html<\/code> dosyalar\u0131nda  <code class=\"language-\">\/eski_logo.jpg<\/code>  ba\u011flant\u0131s\u0131n\u0131 <code class=\"language-\">\/yeni_logo.jpg<\/code> ile de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>find web_sayfasi -name &quot;*.html&quot; -exec sed -i 's\/\\\/eski_logo\\.jpg\/\\\/yeni_logo\\.jpg\/g' {} \\;<\/code><\/pre>\n<p><strong>3. \u0130leri D\u00fczey:  Karma\u015f\u0131k De\u011fi\u015ftirmeler ve Performans Optimizasyonu<\/strong><\/p>\n<p><strong>Karma\u015f\u0131k metin de\u011fi\u015ftirme i\u015flemleri i\u00e7in <code class=\"language-\">sed<\/code> komutunu nas\u0131l kullanabilirim?<\/strong><\/p>\n<p><code class=\"language-\">sed<\/code> komutu, d\u00fczenli ifadeleri (regular expressions) destekler. Bu sayede, daha karma\u015f\u0131k metin de\u011fi\u015ftirme i\u015flemlerini ger\u00e7ekle\u015ftirebilirsiniz. \u00d6rne\u011fin, sadece belirli bir kal\u0131ba uyan metinleri de\u011fi\u015ftirmek i\u00e7in d\u00fczenli ifadeler kullanabilirsiniz.<\/p>\n<p><strong>\u00d6rnek:<\/strong> T\u00fcm <code class=\"language-\">.js<\/code> dosyalar\u0131nda  <code class=\"language-\">version = \"1.0\";<\/code> sat\u0131r\u0131n\u0131 <code class=\"language-\">version = \"2.0\";<\/code> ile de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>find . -name &quot;*.js&quot; -exec sed -i 's\/version = &quot;1\\.0&quot;;\/version = &quot;2\\.0&quot;;\/g' {} \\;<\/code><\/pre>\n<p>(Dikkat: <code class=\"language-\">.<\/code> karakteri d\u00fczenli ifadelerde \u00f6zel bir anlam ta\u015f\u0131r, bu y\u00fczden <code class=\"language-\">\\<\/code> ile ka\u00e7\u0131\u015f yap\u0131lmas\u0131 gerekir.)<\/p>\n<p><strong>Performans Optimizasyonu:<\/strong>  \u00c7ok say\u0131da b\u00fcy\u00fck dosya ile \u00e7al\u0131\u015f\u0131yorsan\u0131z, performans\u0131 art\u0131rmak i\u00e7in <code class=\"language-\">xargs<\/code> komutunu kullanabilirsiniz. <code class=\"language-\">xargs<\/code>, <code class=\"language-\">find<\/code> komutunun \u00e7\u0131kt\u0131s\u0131n\u0131 <code class=\"language-\">sed<\/code> komutuna daha verimli bir \u015fekilde iletir:<\/p>\n<pre class=\"language-bash\"><code>find projeler -name &quot;*.txt&quot; -print0 | xargs -0 sed -i 's\/eski_metin\/yeni_metin\/g'<\/code><\/pre>\n<p><code class=\"language-\">-print0<\/code> ve <code class=\"language-\">-0<\/code> se\u00e7enekleri, dosya adlar\u0131nda bo\u015fluk karakteri olmas\u0131 durumunda sorunlar\u0131 \u00f6nlemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>4.  Edge Case&#8217;ler: \u00d6zel Karakterler ve Hata Y\u00f6netimi<\/strong><\/p>\n<p><strong>\u00d6zel karakterleri i\u00e7eren metinleri nas\u0131l g\u00fcvenli bir \u015fekilde de\u011fi\u015ftirebilirim?<\/strong><\/p>\n<p>\u00d6zel karakterler (\u00f6rne\u011fin, <code class=\"language-\">$<\/code>, <code class=\"language-\">&<\/code>, <code class=\"language-\">*<\/code>, <code class=\"language-\">?<\/code>) d\u00fczenli ifadelerde \u00f6zel anlamlar ta\u015f\u0131r. Bu karakterleri de\u011fi\u015ftirmek i\u00e7in, bunlar\u0131 <code class=\"language-\">\\<\/code> ile ka\u00e7man\u0131z gerekir.<\/p>\n<p><strong>\u00d6rnek:<\/strong>  &#8220;100$&#8221; ifadesini &#8220;200$&#8221; ile de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>sed -i 's\/100\\$\/200\\$\/g' dosya.txt<\/code><\/pre>\n<p><strong>Hata Y\u00f6netimi:<\/strong>  <code class=\"language-\">sed<\/code> komutu, hatalar\u0131 rapor etmez.  Hatalar\u0131 yakalamak ve daha sa\u011flam bir betik olu\u015fturmak i\u00e7in, beti\u011fin \u00e7\u0131kt\u0131s\u0131n\u0131 kontrol edebilirsiniz.  \u00d6rne\u011fin, <code class=\"language-\">sed<\/code> komutunun hata kodu s\u0131f\u0131r de\u011filse bir hata mesaj\u0131 g\u00f6sterebilirsiniz:<\/p>\n<pre class=\"language-bash\"><code>if ! find projeler -name &quot;*.txt&quot; -exec sed -i 's\/eski_metin\/yeni_metin\/g' {} \\; ; then\n  echo &quot;Bir hata olu\u015ftu!&quot;\nfi<\/code><\/pre>\n<p><strong>5.  Vaka Analizi: Ger\u00e7ek D\u00fcnya Senaryolar\u0131<\/strong><\/p>\n<p><strong>Senaryo 1:  Eski bir yaz\u0131l\u0131m s\u00fcr\u00fcm\u00fcne ait t\u00fcm referanslar\u0131 yeni s\u00fcr\u00fcmle de\u011fi\u015ftirme.<\/strong>  Bir projede, eski bir k\u00fct\u00fcphane s\u00fcr\u00fcm\u00fcn\u00fcn t\u00fcm referanslar\u0131n\u0131 yeni s\u00fcr\u00fcmle de\u011fi\u015ftirmemiz gerekiyor. Bu, y\u00fczlerce dosyada bir\u00e7ok farkl\u0131 yerde bulunan referanslar\u0131 i\u00e7erebilir.  <code class=\"language-\">find<\/code> ve <code class=\"language-\">sed<\/code> kullanarak bu i\u015flemi otomatikle\u015ftirebilir ve olas\u0131 hatalar\u0131 en aza indirebiliriz.<\/p>\n<p><strong>Senaryo 2:  Bir web sitesinin t\u00fcm HTML dosyalar\u0131nda bir CSS dosyas\u0131n\u0131n yolunu g\u00fcncelleme.<\/strong>  Web sitesinin tasar\u0131m\u0131n\u0131 de\u011fi\u015ftirdikten sonra, t\u00fcm HTML dosyalar\u0131nda kullan\u0131lan eski CSS dosyas\u0131n\u0131n yolunu g\u00fcncellememiz gerekiyor.  <code class=\"language-\">sed<\/code>&#8216;in d\u00fczenli ifade deste\u011fi ile, eski yolu yeni yolla kolayca de\u011fi\u015ftirebiliriz.  Bu, dosyalardaki di\u011fer kodlar\u0131 etkilemeden sadece CSS dosya yolunu g\u00fcncellememizi sa\u011flar.<\/p>\n<p><strong>Senaryo 3:  Bir projede t\u00fcm yorum sat\u0131rlar\u0131n\u0131 kald\u0131rma.<\/strong>  Proje temizli\u011fi s\u0131ras\u0131nda, t\u00fcm dosyalardaki yorum sat\u0131rlar\u0131n\u0131 silmemiz gerekebilir.  Bu i\u015flem i\u00e7in, yorum sat\u0131rlar\u0131n\u0131 belirleyen d\u00fczenli ifadeler kullanarak <code class=\"language-\">sed<\/code> komutunu kullanabiliriz. Bu, proje dosyalar\u0131n\u0131n boyutunu k\u00fc\u00e7\u00fclt\u00fcr ve anla\u015f\u0131l\u0131rl\u0131\u011f\u0131n\u0131 art\u0131rabilir.  Ancak, dikkatli olmak \u00f6nemlidir; yanl\u0131\u015f d\u00fczenli ifadeler istenmeyen sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<p><strong>6.  Performans Analizi ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>Birden \u00e7ok dosyada metin de\u011fi\u015ftirme i\u015flemlerinin performans\u0131n\u0131 etkileyen birka\u00e7 fakt\u00f6r vard\u0131r: dosya say\u0131s\u0131, dosya boyutu, arama kal\u0131b\u0131n\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 ve kullan\u0131lan komutlar\u0131n verimlili\u011fi.  <code class=\"language-\">xargs<\/code> kullan\u0131m\u0131, b\u00fcy\u00fck dosya k\u00fcmeleri i\u00e7in performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.  Ayr\u0131ca, m\u00fcmk\u00fcn oldu\u011funca spesifik arama kal\u0131plar\u0131 kullanarak (\u00f6rne\u011fin, tam e\u015fle\u015fme yerine k\u0131smi e\u015fle\u015fme kullanmaktan ka\u00e7\u0131narak) performans\u0131 art\u0131rabilirsiniz.  \u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in ise, <code class=\"language-\">sed<\/code> yerine daha verimli ara\u00e7lar (\u00f6rne\u011fin, <code class=\"language-\">perl<\/code> veya <code class=\"language-\">awk<\/code>) kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.  Performans \u00f6l\u00e7\u00fcm\u00fc i\u00e7in <code class=\"language-\">time<\/code> komutu kullan\u0131labilir.<\/p>\n<p><strong>7.  G\u00fcvenlik ve Yedekleme<\/strong><\/p>\n<p>Herhangi bir dosya d\u00fczenleme i\u015flemi yapmadan \u00f6nce, mutlaka dosyalar\u0131n\u0131z\u0131n yede\u011fini al\u0131n.  <code class=\"language-\">sed -i<\/code> komutu dosyalar\u0131 do\u011frudan de\u011fi\u015ftirir ve geri alma i\u015flemi zor olabilir.  Ayr\u0131ca, g\u00fcvenlik a\u00e7\u0131s\u0131ndan, betiklerinizi \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce dikkatlice inceleyin ve olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kontrol edin.  \u00d6zellikle, kullan\u0131c\u0131dan al\u0131nan girdileri kullan\u0131yorsan\u0131z, girdi do\u011frulamas\u0131 yapmay\u0131 unutmay\u0131n.<\/p>\n<p><strong>8.  Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, Bash kullanarak birden fazla dosyada metin de\u011fi\u015ftirme i\u015flemini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frendiniz.  Basit i\u015flemlerden karma\u015f\u0131k d\u00fczenli ifade kullan\u0131m\u0131na, performans optimizasyonuna ve hata y\u00f6netimine kadar \u00e7e\u015fitli konular\u0131 ele ald\u0131k.  <code class=\"language-\">sed<\/code> ve <code class=\"language-\">find<\/code> komutlar\u0131n\u0131n g\u00fc\u00e7l\u00fc bir kombinasyonunu kullanarak, zaman kazand\u0131ran ve hata riskini azaltan otomatik \u00e7\u00f6z\u00fcmler geli\u015ftirebilirsiniz.  Unutmay\u0131n, her zaman dosyalar\u0131n\u0131z\u0131n yede\u011fini almal\u0131 ve betiklerinizi dikkatlice test etmelisiniz.  Daha fazla bilgi i\u00e7in, [Fatih Soysal&#8217;\u0131n Bash programlama ile ilgili di\u011fer yaz\u0131lar\u0131n\u0131](https:\/\/fatihsoysal.com) inceleyebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">sed<\/code> komutu dosyalar\u0131 nas\u0131l de\u011fi\u015ftirir?<\/strong> <code class=\"language-\">sed<\/code> komutu, dosyalar\u0131 do\u011frudan de\u011fi\u015ftirmez, de\u011fi\u015ftirilmi\u015f \u00e7\u0131kt\u0131y\u0131 ekrana yazd\u0131r\u0131r. <code class=\"language-\">-i<\/code> se\u00e7ene\u011fi ile dosyalar do\u011frudan de\u011fi\u015ftirilir.  Bu y\u00fczden yedek almak \u00e7ok \u00f6nemlidir.<\/p>\n<p>2. <strong><code class=\"language-\">find<\/code> komutunun <code class=\"language-\">-exec<\/code> se\u00e7ene\u011fi nas\u0131l \u00e7al\u0131\u015f\u0131r?<\/strong>  <code class=\"language-\">find<\/code> komutu, belirtilen kriterlere uyan dosyalar i\u00e7in <code class=\"language-\">-exec<\/code> se\u00e7ene\u011fi ile belirtilen komutu \u00e7al\u0131\u015ft\u0131r\u0131r.  <code class=\"language-\">{}<\/code> sembol\u00fc, bulunan dosya ad\u0131n\u0131 temsil eder.<\/p>\n<p>3. <strong>D\u00fczenli ifadeler nas\u0131l kullan\u0131l\u0131r?<\/strong>  D\u00fczenli ifadeler, metin kal\u0131plar\u0131n\u0131 tan\u0131mlamak i\u00e7in kullan\u0131lan \u00f6zel bir dildir.  <code class=\"language-\">sed<\/code> komutu d\u00fczenli ifadeleri destekler, bu sayede daha karma\u015f\u0131k metin de\u011fi\u015ftirme i\u015flemleri yap\u0131labilir.<\/p>\n<p>4. <strong>Performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong> <code class=\"language-\">xargs<\/code> komutu kullanarak, <code class=\"language-\">find<\/code> komutunun \u00e7\u0131kt\u0131s\u0131n\u0131 <code class=\"language-\">sed<\/code> komutuna daha verimli bir \u015fekilde iletebilirsiniz.  Ayr\u0131ca, arama kal\u0131plar\u0131n\u0131z\u0131 m\u00fcmk\u00fcn oldu\u011funca spesifik hale getirmeniz performans\u0131 art\u0131racakt\u0131r.<\/p>\n<p>5. <strong>Hatalar\u0131 nas\u0131l yakalayabilirim?<\/strong> <code class=\"language-\">sed<\/code> komutunun \u00e7\u0131k\u0131\u015f kodunu kontrol ederek hatalar\u0131 yakalayabilirsiniz.  Hata kodu s\u0131f\u0131r de\u011filse, bir hata olu\u015ftu\u011funu anlayabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash ile Birden \u00c7ok Dosyada Metin De\u011fi\u015ftirme: Kapsaml\u0131 Bir Rehber Birden fazla dosyada ayn\u0131 metni de\u011fi\u015ftirmeniz mi&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-26678","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: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme<\/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-birden-cok-dosyada-belirli-metni-degistirme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-29T00:45:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-01T15:33:40+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=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme\",\"datePublished\":\"2025-07-29T00:45:29+00:00\",\"dateModified\":\"2025-09-01T15:33:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\"},\"wordCount\":1462,\"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-birden-cok-dosyada-belirli-metni-degistirme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\",\"name\":\"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-29T00:45:29+00:00\",\"dateModified\":\"2025-09-01T15:33:40+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme\"}]},{\"@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: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme","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-birden-cok-dosyada-belirli-metni-degistirme\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-29T00:45:29+00:00","article_modified_time":"2025-09-01T15:33:40+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme","datePublished":"2025-07-29T00:45:29+00:00","dateModified":"2025-09-01T15:33:40+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/"},"wordCount":1462,"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-birden-cok-dosyada-belirli-metni-degistirme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/","name":"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-29T00:45:29+00:00","dateModified":"2025-09-01T15:33:40+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-birden-cok-dosyada-belirli-metni-degistirme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Birden \u00c7ok Dosyada Belirli Metni De\u011fi\u015ftirme"}]},{"@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\/26678","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=26678"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26678\/revisions"}],"predecessor-version":[{"id":28656,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26678\/revisions\/28656"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=26678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=26678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=26678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}