Bash Betiklerinde String (Metin) Manipülasyonu Rehberi

Bash betiklerinde sed veya awk gibi harici araçlara ihtiyaç duymadan, parametre genişletme yöntemleriyle metin dizilerini nasıl yöneteceğinizi öğrenin.

L
Linuxize
8 görüntülenme
Bash Betiklerinde String (Metin) Manipülasyonu Rehberi

Giriş

Bash betikleri yazarken, metin işleme görevleri için sed, awk veya grep gibi harici komutlara her zaman ihtiyaç duymazsınız. Bash'in yerleşik 'Parametre Genişletme' (Parameter Expansion) özelliği, değişkenler üzerindeki işlemleri doğrudan kabuk içerisinde gerçekleştirmenize olanak tanır. Bu yöntem, betiklerinizin daha hızlı çalışmasını ve daha az bağımlılığa sahip olmasını sağlar.

1. String Uzunluğunu Bulma

Bir değişkenin içerdiği karakter sayısını öğrenmek için ${#degisken} sözdizimi kullanılır.

filename="backup-2026-04-14.tar.gz"
echo ${#filename}

Bu komut, değişkenin uzunluğunu sayısal olarak döndürür.

2. Alt Metin (Substring) Çıkarma

Belirli bir konumdan itibaren metnin bir kısmını almak için ${degisken:offset:uzunluk} yapısı kullanılır.

  1. Belirli aralık: ${str:7:5} (7. karakterden başlar, 5 karakter alır).
  2. Sondan başlama: ${str: -5} (Sondan 5 karakteri alır, eksi işaretinden önce boşluk bırakılmalıdır).

3. Metin Değiştirme (Replace)

Metin içerisindeki bir ifadeyi değiştirmek için şu yöntemler izlenir:

  • İlk eşleşme: ${degisken/aranan/yeni}
  • Tüm eşleşmeler: ${degisken//aranan/yeni}
İpucu: Eğer 'yeni' kısmını boş bırakırsanız, aranan metin silinmiş olur.

4. Önek (Prefix) ve Sonek (Suffix) Kaldırma

Dosya yollarını veya uzantılarını yönetmek için oldukça pratiktir:

  1. Önek kaldırma: ${degisken#pattern} (En kısa eşleşmeyi kaldırır).
  2. Sonek kaldırma: ${degisken%pattern} (En kısa eşleşmeyi kaldırır).

## veya %% kullanımı, eşleşmenin en uzun halini hedef alır.

5. Büyük/Küçük Harf Dönüşümü

Bash 4.0 ve üzeri sürümlerde metinleri dönüştürmek çok kolaydır:

  • Tümünü büyük harf yap: ${degisken^^}
  • Tümünü küçük harf yap: ${degisken,,}
  • Sadece ilk harfi büyük yap: ${degisken^}
Uyarı: Bu özellik Bash 3.x sürümlerinde çalışmaz. Eski sistemler için tr komutunu kullanmanız önerilir.

Sonuç

Parametre genişletme, Bash otomasyonlarında temiz ve verimli kod yazmanın anahtarıdır. Bu yöntemleri kullanarak betiklerinizi daha okunabilir hale getirebilirsiniz.

Kaynak

Linuxize