Bir klasör altındaki tüm dosyaların içindeki belirli metinleri topluca değiştirmek nasıl yapılır?

Diyelim ki bir klasör altında bir sürü dosyamız ve bir sürü klasörümüz var. Bir adet metin tanımını çeşitli dosyalarda kullandık ve şimdi bu tanımı değiştirmek istiyoruz.

Bunu yapmak linux üzerinde oldukça basit.

Örnek Sorun:

Tüm dosyalarımız elle tanımladığımız bir domain adresimiz olsun.

Örneğin:

www.engintalay.cloud

Biz www.engintalay.cloud yazan yazıların hepsini yeni bir metin ile değiştirmek istiyoruz.

Örneğin

www.engintalay.com.tr

Bunu yapmak için aşağıdaki kodu yazmamız yeterli.

find ./ -type f -exec sed -i ‘s/www.engintalay.cloud/www.engintalay.com.tr/gI‘ {} \;

Bu script aynı zamanda, büyük-küçük harf ayrımı yapmadan tüm bu duruma uyan metinleri bulup değiştiriyor. Büyük harf küçük harf ayrımı bizim için önemli ise, en sonraki “I” harfini kaldırmamız yeterli.