Ich bin mir nicht ganz sicher, was Sie mit "Code visuell erstellen" meinen (meinen Sie ein GUI-Tool?). Wenn Sie wie ich sind, ist es mir unmöglich, mit komplexen regulären Ausdrücken zu arbeiten, es sei denn, ich habe sie strukturiert angeordnet, damit ich die Logik besser visuell darstellen kann.
Wirklich, sed
ist nur eine Skriptsprache, und es kann wie andere Sprachen ausgelegt werden, dh. mit einem Befehl pro Zeile. Hier ist ein typisches Beispiel für das, was ich meine: Ein sed-Regex mit strukturiertem Layout .
Eine sehr praktische Funktion von sed
ist der Debugging- Befehl l
, bei dem es sich um einen einfachen Zeilendump handelt, der den Musterraum mit eingebetteten Zeilenumbrüchen \n
usw. anzeigt .
Das Problem sed
ist nicht nur die regulären Ausdrücke. Es hat einen funky kryptischen Befehlssatz für Schleifen und Bedingungstests; dies braucht Zeit , um zu gewöhnen ... Das beste Werkzeug , das ich mich jemals mit mit zu tun helfen gefunden habe sed
ist ganz einfach: Ich habe das Handbuch im Detail lesen .. Von diesem, es nur ein Prozess des Startens klein ist und immer die einfache Dinge funktionieren; Bauen Sie dann größere Dinge auf, um Erfahrungen zu sammeln.
Perl Regex verfügt über einige nützliche Funktionen zum Erstellen komplexer Muster. z.B. die Fähigkeit, Leerzeichen in Ihrem Ausdruck zu ignorieren. (Als Herausforderung und als Grund für die Erfahrung habe ich einen sed
Parser geschrieben, der meinen sed
Code analysiert , um solche Leerzeichen zuzulassen.) PS: Ich brauche es jetzt nicht :) Tatsächlich ist das Auslegen von Befehlen (einer pro Zeile) fast so gut wie die Perl-Funktion.
Das beste Hilfsmittel ist: Erfahrung . z.B. Die Bewältigung der regex Fragen auf dieser Website ist eine gute Möglichkeit , diese Erfahrung zu bekommen ... Ich glaube , dass GUI - Tools nicht wirklich hilft viel, weil sie die hemmen Erfahrung ...
Zusammenfassend sind die besten Hilfsmittel Erfahrung und strukturiertes Layout , und lesen Sie das Handbuch (im Detail).
Ich habe das Wort "expereince" oft verwendet. Damit meine ich, dass das Vorbereiten von regulären Ausdrücken (und im Fall von sed
Schleifenlogik usw.) der Schlüsselfaktor ist. Typ "Regex-Builder" Werkzeuge; schreibe den regulären Ausdruck nicht für dich; sie testen nur sie, und sie sicherlich nicht der Griff Programmlogik sed , denn das ist nicht ein regulärer Ausdruck ist .. (und Sie haben speziell herausgehoben sed
) ... Die Syntax-Hervorhebung sie bieten nicht viel für mich tut . Ein Editor mit guter Klammerübereinstimmung ist allerdings ziemlich praktisch (ich verwende Emacs).