Çoklu text dosyası içeriği değiştirmek ?

Başlatan Mx0Ub, 27 Ocak 2013 - 04:21:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Mx0Ub

Merhabalar

Elimde 200 tane text dosyası var.

Ve bunların her birinde ahmet olan kısımlar cansu olarak değiştirmem gerekiyor.

Bunu toplu şekilde yapacak yazılım var mı ?
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

cagriemer

for dosya in *; do sed -i 's/ahmet/cansu/g' $dosya; done

Icinde bulundugunuz dizinde bulunan tum dosyalardaki ahmet'i cansu ile degistirir.

krwlng

@cagriemer, ellerine sağlık bana da lazımdı böyle bir betik, fakat küçük bir sıkıntı var, isminde boşluk olmayan dosyalar üzerinde çok güzel çalışırken, mesela "Adsız belge" gibi bir dosyada "Adsız okunamıyor: böyle bir dosya veya dizin yok" hatası alıyorum, boşluktan sonrasını okumuyor maalesef.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

egcodes

cagriemer'in koduna şöyle bir şey eklersek problem çözülür.

for dosya in '*'; do sed -i 's/ahmet/cansu/g' $dosya; done

* karakterini tırnak içine aldım.

Kolay gelsin.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

guestwho

Alternatif olarak:

perl -pi -e 's/ahmet/cansu/gi' *.txt
You want weapons? We're in a library. Books are the best weapon in the world. This room's the greatest arsenal we could have. Arm yourself!

canosayan

bende php ile yazayım değişiklik olsun

<?php 
$path
='./';
$dizin=scandir($path);
unset(
$dizin[0],$dizin[1]);
foreach(
$dizin as $tek)
{
$metin=file_get_contents($path.$tek);
$metin=str_replace('ahmet','cansu',$metin);
file_put_contents($path.$tek,$metin)
}
?>
Chmod bizim işimiz.

krwlng

@egcodes ve guestwho ikinizin verdiği komutlar da çalışıyor teşekkürler. @Canosayan, verdiğin php betiği sunucu hatası veriyor, gerekli izinleri ayarladım, dosyaları sorun çıkmasın diye aynı dizine taşıdım, bir kaç şey daha denedim ama sunucu hatası almaya devam ettim maalesef.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

Felâsife

Maceraya hazır mısın!  Bir BSD almaz mısın?