X

Linux’ta topluca Bul ve Değiştir yani Find and Replace

Linux’ta topluca Bul ve Değiştir yani Find and Replace

Linux sistem üzerinde, içeriğinde değişiklik yapmak istediğimiz bazı dosyalarda BUL ve DEĞİŞTİR yani FIND and REPLACE işlemi yapmak istediğimizde tek bir girdi ile 2 komut bileşeni işimizi halledecektir.

Girdimiz şu mantıkta olmalıdır.
grep -l ‘aranan_kelime_yada_satır‘ * | xargs sed -e ‘s/aranan_kelime_yada_satır/yerine_gelecek_kelime_yada_satır/’ -i

grep -l ‘aranan_kelime_yada_satır’ parametresi size içinde ‘aranan_kelime_yada_satır’ olan dosyaları listeler. * karakteri ise aradağımız kelime ya da satırı tüm dosyalar içinde aranacağını ifade eder. Sadece txt uzantılı dosyalarda arayacaksak, *.txt olmalıdır, sadece kelime işlemci ofis metinlerinde arayacaksak uzantımıza göre *.odt , *.doc , *.docx şeklinde olmalıdır. Konfigürasyon dosyalarında arayacak isek *.conf veya *.cfg şeklinde olmalıdır. Sözün özü belirli bir uzantıyı içeren dosyada arayacak isek * işaretinden sonra .uzantı ilave edilmelidir.

 

.txt metin dosyası için örnek:

grep -l ‘STRANGER*.txt | xargs sed -e ‘s/STRANGER/YABANCI/’ -i

 

.conf konfigürasyon dosyası için örnek:

grep -l ‘STRANGER*.conf | xargs sed -e ‘s/STRANGER/YABANCI/’ -i

 

ilaveten devam eden sed komutu ile de üzerine yazıp değiştirme yani replace işlemi yapmış oluyoruz.

Kolay gelsin.

demiray:
Related Post