Erleichtern OS X-Apps das Suchen und Ersetzen über mehrere Dateien hinweg?

9

Ich suche ein OS X-Tool, mit dem ich eine Suchzeichenfolge in mehreren Dateien suchen und ersetzen kann. Die Anforderungen sind folgende:

  • Suchen und ersetzen
  • Suche nach regulären Ausdrücken
  • Suchen Sie über mehrere Dateien hinweg
  • Suchen Sie in verschachtelten Verzeichnisstrukturen
  • Ausdruck ersetzen kann Werte aus der Suche verwenden (regulärer Ausdruck)
  • Das Tool verfügt über eine benutzerfreundliche Benutzeroberfläche
  • Am besten kostenlos

Ich weiß, dass einige Texteditoren wie BBEdit über diese Funktionalität verfügen, aber ich würde ein leichtes Tool bevorzugen, bei dem ich die Dateien nicht erst zum Bearbeiten öffnen muss.

Wenn es keine Tools gibt, die diesen Anforderungen entsprechen, würde ich auch eine Befehlszeilenalternative in Betracht ziehen. Ich weiß das perlund sedunterstütze so etwas - eine Lösung, die ich entweder als Bash- Alias oder als Funktion definieren kann, wäre in diesem Fall willkommen.

nwinkler
quelle

Antworten:

9

Ich benutze normalerweise TextMate :

Dialogfeld "TextMate suchen und ersetzen"

TextMate (1) ist / war ein Kaufprodukt, aber TextMate 2 befindet sich derzeit in der aktiven OpenSource-Entwicklung auf gitHub und kann kostenlos verwendet werden.

childno͡.de
quelle
5

Erhabener Text ist das, was ich benutze, es ist großartig!

Screenshot von Suchen und Ersetzen

Erhabener Text:

  • ist frei zu bewerten (keine zeitliche Begrenzung)
  • kann suchen und ersetzen
  • kann nach regulären Ausdrücken suchen
  • kann über mehrere Dateien suchen
  • kann über verschachtelte Verzeichnisstrukturen suchen
  • kann Werte aus der Suche in Ersetzungsausdruck verwenden
  • hat eine einfach zu bedienende Benutzeroberfläche
Mike
quelle
1
Können Sie bitte etwas genauer sein und beschreiben, wie SublimeText das in der Frage beschriebene Problem löst?
Nohillside
Ihre Website (Link zur Verfügung gestellt sagt Ihnen alles), aber ... Es ist kostenlos zu bewerten (keine zeitliche Begrenzung auferlegt) Suchen und Ersetzen - JA. Suche nach regulären Ausdrücken - JA. Suche über mehrere Dateien hinweg - JA. Suche in verschachtelten Verzeichnisstrukturen - JA. Ausdruck ersetzen kann Werte aus der Suche verwenden (regulärer Ausdruck) - JA. Das Tool verfügt über eine benutzerfreundliche Benutzeroberfläche - JA. Am besten kostenlos - JA (Art).
Mike
3

Sie müssen die Dateien nicht mit BBEdit öffnen. Sie zeigen es einfach auf einen Ordner. Es ist ein sehr leistungsfähiges Tool, das ich oft mit einer großen Anzahl von HTML-Dateien verwendet habe.

Kirk McElhearn
quelle
3

Zusätzlich zu den anderen Lösungen, die einen Texteditor verwenden, habe ich FAR - Find and Replace gefunden , ein plattformübergreifendes Tool zum Suchen und Ersetzen . Es ist nicht das schönste, aber es sieht so aus, als würde es das tun, wonach ich suche.

http://findandreplace.sourceforge.net/

nwinkler
quelle
2

Ich benutze oft Ruby-Skripte wie folgt:

Dir["**/*.txt"].each { |f|
  IO.write(f, IO.read(f).gsub(/search/, "replace"))
}

Oder Sie können verwenden gets(nil)mit -i:

ruby -i -e 'print gets(nil).gsub(/search/, "replace")' *.txt

Wenn Sie Bash 4 installieren und globstar aktivieren, können Sie es auch **in Shells verwenden:

sed -i '' 's/search/replace/g' **/*.txt
Lri
quelle
1

Dies wurde genau sedgeschrieben und entspricht allen Ihren Anforderungen, außer dass die Lernkurve etwas steil ist.

Versuchen Sie für eine sanftere Lernkurve TextWrangler von BareBones. Es verwendet die BBEdit-Text-Engine und verfügt, glaube ich, über die volle Such- und Ersetzungsfunktionalität seines großen Bruders

Ɱark Ƭ
quelle
1
Ich bin mit Bash-Programmierung und -Skripten vertraut, habe aber noch nie etwas Fortgeschrittenes getan sed. Können Sie ein Beispiel dafür geben, wie Sie sedText in einer Reihe von Dateien ersetzen können, wie in der (derzeit) obigen rubyAntwort?
Nwinkler
-1

Schauen Sie sich meine App Search and Replace an . Sie können es für mehrere Dateien oder Verzeichnisse verwenden, Ihre Such- / Ersetzungszeichenfolgen sichern und reguläre Ausdrücke verwenden.

thomasguenzel
quelle
Wie funktioniert das - warum ist es besser als andere Antworten - bitte geben Sie mehr als einen Link an
user151019
1
Hallo und willkommen bei Ask Different! Wir haben zwar nichts dagegen, dass Entwickler ihre Produkte empfehlen, wenn sie die vorgestellten Probleme lösen. Wir bitten Sie jedoch, einen klaren Kontext dafür anzugeben, warum Ihr Produkt eine Antwort ist und wie es das Problem löst. Weitere Informationen zur Funktionsweise von Ask Different und zum StackExchange-Q & A-Format finden Sie in unseren FAQ .
Ian C.
Ich denke, es hat ungefähr die gleichen Funktionen wie die anderen hier empfohlenen Tools. Der Unterschied besteht darin, dass Sie eine grafische Benutzeroberfläche haben und Dateien speichern können, die Ihre Such- / Ersetzungszeichenfolgen enthalten. Es hat alle Funktionen, die nwinkler verlangt. Es kann über mehrere Dateien / verschachtelte Verzeichnisstrukturen suchen und ersetzen (auch unter Verwendung regulärer Ausdrücke) und hat (zumindest denke ich) eine einfach zu verwendende GUI.
Thomasguenzel