Küresel arama ve değiştirme Linux komut satırı | Netgez.com
SORU
22 Ocak 2009, PERÅžEMBE


Küresel arama ve değiştirme Linux komut satırı

Ve tüm dosyalar bir linux makine üzerinde grep ile eşleşen bir dize aramak ve değiştirmek için çalışıyorum. Yapmak istediğim bir kaç parça var ama hepsini dize için nasıl emin değilim.

grep -n 'foo' * beni şeklinde çıktı verecektir:

[filename]:[line number]:[text]

Her dosya grep döndürdüğü için, "" "" ve sonuç geri dosya. write bar foo değiştirmek istiyorum İyi bir yolu var mı? Süslü bir boru hattı olabilir mi?

CEVAP
23 Ocak 2009, Cuma


Bu istediğin şey için, verdiğin örnek dayalı görünür:

sed -i 's/foo/bar/g' *

Özyinelemeli (alt dizinleri inecek değil) değil. Bir ağaç boyunca iyi bir çözüm seçili dosyaların yerini bulmak için kullanmak istiyorsunuz:

find -name '*.html' -print -exec sed -i.bak 's/foo/bar/g' {} \;

*.htmldosyaları uyması gerektiğini ifade etmektedir.baksonra-benorijinal dosyanın bir kopyasını yapar .uzantısı (istediğiniz herhangi bir uzantısı olabilir) ve bakgsed sonunda ifade sed tek bir satırda birden çok kopya (yerine sadece ilki) yerini söyler.-yazdırınbulmaktır dosyaları bahisler ediliyordu göstermek için bir kolaylık. Tüm bu sistem bu araçlar tam sürüm bağlıdır.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Learn Math Tutorials

    Learn Math T

    20 Kasım 2011
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011