Terminalden birden fazla dosyada metin nasıl bulunur ve değiştirilir

Bul ve Değiştir metin, basit bir iş olabilir. metin editörleri daha basit. Ama aynı görevi yapmanız gerektiğinde ne olur? aynı anda birden fazla dosyada?

Şey, orada işler karmaşıklaşır ... veya o kadar da değil.


Aşağıdaki örnekte, .txt uzantılı ve / home / user / myfolder / klasöründe bulunan tüm dosyalarda "mongo" kelimesinin tüm tekrarlarını "aurelio" kelimesiyle değiştirmek için sed kullanacağız.

bul / home / kullanıcı / klasörüm / -isim * .txt -exec sed -i "s / mongo / aurelio / g" {} \;

Bu kadar kolay ...

Bitirmeden önce, bazı metin editörlerinin bu işlemin bir grafik arayüz kullanılarak yapılmasına izin verdiğini belirtmek gerekir. Diğerlerinin yanı sıra, Jedit, Geany, Regexxer vb. Vurgulanmaya değer.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   TSH dijo

    Süper

  2.   Şüpheci dijo

    Gedit kullanıyorum

    1.    Mrlon dijo

      birden çok dosya için gedit ??? gibi???

  3.   ron dijo

    AI arasına nasıl grep koyabilirim?

    İhtiyacım olan şey, aşağıdakileri yapmak, index.html olarak adlandırılan ve "XXXXXXX" kelimesini içeren tüm dosyaları home içinde aramak ve bunu "YYYYYYYYYY" ile değiştirmek, çünkü yalnızca gerçekte olan dosyaları araması için yapılabilir. ipin var mı?

    Çok teşekkür ederim !

  4.   MelhorHospedagem dijo

    Ben de Gedit kullanıyorum ama çok teşekkür ederim

  5.   Melek garcia dijo

    Exec argümanını kaçırıyorsunuz. Doğru kod şöyle olacaktır:
    bul / home / kullanıcı adı / klasörüm / -isim * .txt -exec sed -i "s / mongo / aurelio / g" {} \;

    Selamlar 😀

    1.    hadi linux kullanalım dijo

      Haklısın! Teşekkür ederim!
      Ben zaten düzelttim. : =)

  6.   gardo dijo

    Bunu az önce denedim (KÖK olarak):

    bul / usr / share / icons / ACYL-Allgray / -name * .svg -exec sed -i "s / 666666/000000 / g" {} \;

    tüm bir simge kümesinin rengini değiştirmek için. Gerçek şu ki, bu çok güçlü bir komut, normalde bu görev dosya dosya düzenleme için saatlerimi alırdı.

  7.   Edmundo dijo

    Centos linux'ta satır numarasına göre birkaç dosyaya metin ekle

    bul / home // public_html / res / -name -exec sed -i "2i \;" {} \;

    1.    Edmundo dijo

      kodun tamamı gelmedi, bu yüzden yeniden gönderdim:

      find / home / user / public_html / res / -name dosyaadı.ext -exec sed -i "2i \ metin eklenecek" {} \;