TextWrangler: Suchen & Ersetzen mittels grep

TextWranglerApplication.175x175-75TextWrangler ist eine tolles Programm zur Bearbeitung von reinen Textdateien. Die App kann vieles, jedoch nicht alles. Ich nutze die App gerne, weil das Syntax-Highlighting bei einfachem Programmieren ganz nützlich wird.

Ich nutze TextWrangler jedoch auch gerne, weil er Suchen & Ersetzen mit ‚grep‘ anbietet. ‚grep‘ ist ein Programm aus der UNIX-Welt, welches in vielen Programmiersprachen umgesetzt ist. Der Vorteil von ‚grep‘ im vergleich zu anderen Suchbefehlen ist, dass man geschickt mit Wildcards & Backreferences arbeiten kann.

Wer in TextWrangler Suchen & Ersetzen auswählt (⌘ + F) erhält folgendes Eingabefeld, dort kann man Grep auswählen. Wer Grep nicht kennt, oder einfach mal ausprobieren will, ob der gewählte Ausdruck auch funktioniert kann unter http://regexpal.com eine tolle Hilfe finden.

16-8-2013-Bildschirmfoto 2013-08-16 um 08.47.59

Aber warum ist grep jetzt so toll?

Stell Dir vor Du möchtest in einem Text Inhalte löschen, die alle unterschiedlich sind, aber dem selben Muster folgen. Stell Dir vor

$mode = strip_tags($_REQUEST['mode']);
$genre = strip_tags($_REQUEST['genre']);
$atitle = strip_tags($_REQUEST['atitle']);
$title = strip_tags($_REQUEST['title']);

Ich würde hier gerne = strip_tags($_REQUEST[‚WHATEVER‘]); löschen. Mit grep kann das sehr einfach sein, z.B.  = .*\);  Wenn Du das in Find eingbist und dann Replace All wählst, verschwindet alles nach der eigentlichen Variable.

Das Ergebnis:

$mode
$genre
$atitle
$title

Grep kann aber auch Backreferences verwenden. Stell Dir vor, Du brauchst den Namen der Variable ohne $, möchtest das nutzen, um etwas umzuschreiben. Auch das geht mit grep recht einfach.

16-8-2013-Bildschirmfoto 2013-08-16 um 09.02.38

Find:   \$(.*)
Replace: <input type=“hidden“ name=“\1″ value=“‚.$\1.'“/>

Und schon werden alle Variablen so umgeschrieben, dass daraus:

<input type="hidden" name="mode" value="'.$mode.'"/>
<input type="hidden" name="genre" value="'.$genre.'"/>
<input type="hidden" name="atitle" value="'.$atitle.'"/>
<input type="hidden" name="title" value="'.$title.'"/>

wird.

Ihr seht an diesen einfachen Beispielen, dass grep sehr mächtig ist und ich befinde mich nur am Anfang meiner grep Lernphase. Man kann die Suchbegriffe bestimmt verbessern. Bestimmt kann man die zwei Schritte in einen Schritt verwandeln, aber mir sparte schon das ganz viel manuelle Arbeit und so wollte ich mit Euch die „Macht“ von TextWrangler Suchen & Ersetzen mit Grep einfach kurz beschreiben.

[app 404010395]

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.