"Dizin içindeki her hangi bir dosya veya dosyaların içerisindeki bir değer nasıl değiştirilir?" sorusuna cevap bulalım dedim.
Linux kullanan arkadaşlarımızın böyle bir şeye ihtiyacı olursa, çözüm için kafalarında bir fikir oluşmasına yardımcı olabilir.
Linux dünyasındaysanız, bu soruya birden çok çözüm bulabilirsiniz, benim aklıma gelen çözüm;
sunucu ismimizi değiştireceğiz.
Mevcut ismimiz e8470p olsun, yeni ismimizde zurbahan olacak.
Öncelikle etc altındaki dosyaları find komutuyla tespit ettiririz.
Burada önemli nokta find ile arama yaparken -type f ile sadece dosyaları tespit ettirmemiz. Özellikle dosyaları aratmazsanız, sed komutuna dizin ve başka tip dosyalarda parametre olarak gider. Gerisi hikaye. :)
Sonrasında sed arkadaşa diyoruz ki, bu dosyanın içeriğine bak, içinde e8470p görürsen zurbahan olarak değiştir.
Komutumuz;
find /etc/ -type f -exec sed -i 's/e8470p/zurbahan/g' {} \;
Alternatif olarak aşağıdaki gibide değiştirebiliriz. Fakat yukarıdaki çözüm tercih ettiğim bir çözüm. :)
find etc/ -type f | xargs -n 1 sed -i 's/e8470p/zurbahan/g'
Sizinde aklınızda alternatif çözüm varsa yoruma yazabilirsiniz.
Yorumlar
Yorum Gönder