Karmaşık Düzenli İfadeler çalıştırabilecek metin editörü?


10

Daha sonra yeniden kullanmak üzere düzenli ifadeleri çalıştırabilen ve depolayabilen bir metin düzenleyici bulmak istiyorum. Bunları birden fazla dosyada da çalıştırabilmelidir.

Bunların hepsini grep ile alabileceğimi biliyorum, ama üzerinde tekrar kullanmak için fazla bir şey yok. Gedit'te eklentilerle bazı düzenli ifade işlevleri elde edebildim, ancak neredeyse ihtiyaçlarıma yakın değildi.

Windows için EditPad Pro (şarap üzerinde çalışır) ama yerli her zaman iyidir :)

Yanıtlar:


18

İki klasik açık kaynaklı Unix editör GNU emacs ve (g) Vim'dir ve her ikisi de Ubuntu'da iyi çalışır. Her ikisinin de, bir ömür boyu öğrenebileceğinizden daha fazla özelliğe sahiptir; Çok fazla başka ikisi de var, ama en iyisi ile de başlayabilirsiniz. (Bunlardan hangisinin daha iyi olduğuna girmemeye çalışacağım, çünkü zaten epik bir kutsal savaş.)

Bu arada, sed muhtemelen komut satırından RegEx manipülasyonları için grep'ten daha iyi bir alternatiftir ve bunun için komut dosyaları yazıp kaydedebilirsiniz. (Elbette reg ex için perl, awk ve python kullanabilirsiniz.)

Xkcd'den biraz ilham: http://imgs.xkcd.com/comics/real_programmers.png


2
O adam olmaktan nefret ediyorum, ama 'çok', 'iki' değil.
TJ L

D'oh! Yazım hatası için üzgünüm. Endişelenme. Ben genellikle o adamım. Eğer gEdit ile yapışmak istiyorsanız, onun güzel Harici Araçlar eklentisini kurabileceğinizi ve tampondaki sed komut dosyalarını çalıştırmak için kullanabileceğinizi belirtmek istedim.
frabjous

@ tj111 - Detay odaklı olduğu için asla özür dileme. Bizim iş kolumuzda, bunun önemli olduğunu düşünmediyseniz endişe verici olurdu. :-)
Scott Smith

15

Geany'nin iyi bir bulma seti vardır:

geany bul

değiştirin:

geany değiştirin

ve dosya arama:

geany grep

özellikleri. Her zaman bir metin dosyasında saklayabilmenize rağmen, normal ifadeleri daha sonra kullanmak üzere yerleşik bir yeteneği yoktur.

Bul / değiştir için geçmişi var, ancak bu bir oturumla sınırlıdır.


1
Vi (m) 'de regexes sözdizimini öğrenmek için internet ve man sayfalarında dolaşmak yerine, regex desteğine sahip hızlı bir GUI editörüne ihtiyacınız olduğunda Geany'yi kullanmak çok daha kolay
Alex Marshall

6

Sadece bir grup dosyaya karşı regex çalıştırmak istiyorsanız, bence sizin sedveawk


Komut dosyalarını bir dosyada sedveya ile kaydedebilir ve düzenleyebilirsiniz awk.
pbhj

2

Http://code.google.com/p/advanced-find/ adresindeAdvanced find / replace plugin for gedit bulabileceğiniz bir GEdit ve eklenti kombinasyonunu kullanabilirsiniz .

2012'den itibaren, bir ifadeyi yeniden kullanabilmeniz için yer işareti özelliğine sahiptir. Ayrıca açık dosyaları, klasördeki (filtreli) veya metin seçimindeki dosyaları arayabilir ve değiştirebilir.

Nasıl yükleneceği hakkında, http://code.google.com/p/advanced-find/wiki/Installation adresindeki wiki sayfasındaki talimatları uygulayabilirsiniz .

Temel olarak yapmanız gereken:

  1. Http://code.google.com/p/advanced-find/downloads/list adresinden geditiniz için doğru sürümü indirin .

  2. Sıkıştırın.

  3. İnstall.sh komutunu çalıştırın (sudo olmadan).

  4. Tercihlere / eklentiye gidin ve etkinleştirin.

Gelişmiş Bul / Değiştir iletişim kutusunun ekran görüntüsü açıldı


1

Bu cevaba işaret eden bir yorum eklemek istedim , ama görünüşe göre bunun için yeterli itibarım olmadığından, burada kendi cevabım olarak çoğaltacağım : RegExr , metin manipülasyonu için şimdiye kadar kullandığım en iyi araçtır düzenli ifadeler kullanarak. Normal ifadenin her bölümünü sizin için bile açıklayacaktır!

Çevrimiçi bir araç, ancak bir masaüstü sürümü var . Bu, Linux için sonlandırılan Adobe AIR'yi kullanır, bu nedenle bu mükemmel adım adım talimatları izleyerek yüklemeniz gerekebilir . Bundan sonra, .airyukarıda bağlanan RexExr masaüstü sayfası için dosyayı indirin ve AIR yükleyicisiyle açabilmeniz gerekir. Sonra düzenleyin!


1

Kimsenin 'medit' bahsetmediğine gerçekten şaşırdım ... ara / değiştir medit'e girdiğiniz kriterlerin bir regex ifadesi olduğunu söyleyen basit bir onay kutusuna sahiptir ... istediğiniz kadar basit veya karmaşık olabilir ..


AskUbuntu'ya hoş geldiniz. Cevabı örnekler ve / veya ekran görüntüleri ile detaylandırabilmeniz daha yararlı olacaktır.
Sri

0

Atom bu işleve sahiptir. "Deb" paketini indirip kurun.

Normal ifade moduna geçmek için CTRL+ tuşuna basın Fve .*düğmeyi tıklayın .

Alternatif olarak, CTRL+ ALT+/

Ayrıca github üzerinde.

Atomda regex kullanımı ile ilgili soru.

Veya catve kullanabilirsiniz sed.

sed -eDeğişiklikleri yazdırmak için kullanın . sed -iDosyanın içeriğini gerçekten düzenlemek için kullanın .

Daha fazla bilgi için buraya bakın.

İle egrepnormal ifadeleri kullanmak için de kullanabilirsiniz grep.

Değiştirme işlevlerini bulmanız gerekiyorsa, + gedittuşuna basarsanız normal ifadeleri kabul eder .CTRLF

Ayrıca vim'de düzenli ifadeler de yapabilirsiniz .


0

Tutulma , amaç için biraz ağır olsa da en iyisidir. Tüm bulgular ayrı bir bölmede mevcuttur. (iskelet) Hemen bunlardan birine atlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.