2010-11-04 14 views
6

Bir dosyayı bir defada * dosya adını kullanarak sed ile değiştirmeye çalışıyorum. Ancak dizinleri de işlemeye çalışır, hata verir ve sonlanır. Bunu aşmanın basit bir yolu var mı?dizinleri dışlamak için sedd

cevap

9

emin değilim tam olarak UNIX içinde sadece normal dosyaları işlemek için buraya sed fakat normal bir şekilde kullanıyoruz ile nasıl find komut, bir şey gibi: tip size kısıtlar

find . -type f -exec sed 's/Hello/Goodbye/g' {} ';' 

düzenli dosyalara, dizinlere veya FIFO'lara veya herhangi bir çeşit dosya sistemi büyüsüne değil.

Sisteminizde man find'u çalıştırırsanız, kullanabileceğiniz diğer seçeneklerin çoğunu görürsünüz.

+0

Hala linux/unix kabuk komutları için oldukça yeniyim, neden bunu çalıştırdığımda ekranımı birçok dosyanın içeriğiyle birlikte spam ediyor, ancak hiçbir şeyi değiştirmiyor? – HumbleWebDev

+0

@ TheUnholy, bu doğru. Bu cevabın amacı, dizinleri değil dosyaları işlemek için 'bul' yönteminin nasıl kullanılacağını göstermektir. 'Bul' komutunun 'yükü' (bu durumda basit bir 'sed' komutu) ihtiyaçlarınızı karşılayacak şekilde değiştirilebilir. – paxdiablo

İlgili konular