Nicht machen ...
Ich habe neulich den Ausspruch
Prinzipiell halte ich es für eine sehr gute Idee, wenn möglichst viele Tools den eigenen Werkzeugkasten füllen. Und meine Meinung ist, dass man das Tool der Aufgabe entsprechend aussuchen sollte. Ich halte auch gar nichts von "Pipe-Schlangen" so wie "grep suchbegriff datei | grep -v 'anderer suchbegriff' | cut -f 1 | sed 's/u/x/", wenn man das alles mit einem einzigen Werkzeug erledigen kann.
Benutze nicht awk, wenn Du sed benutzen kannst. Benutze nicht sed, wenn Du grep benutzen kannst. Benutze nicht grep, wenn Du cut benutzen kannst.gehört und weiss nicht so recht, was ich davon halten soll.
Prinzipiell halte ich es für eine sehr gute Idee, wenn möglichst viele Tools den eigenen Werkzeugkasten füllen. Und meine Meinung ist, dass man das Tool der Aufgabe entsprechend aussuchen sollte. Ich halte auch gar nichts von "Pipe-Schlangen" so wie "grep suchbegriff datei | grep -v 'anderer suchbegriff' | cut -f 1 | sed 's/u/x/", wenn man das alles mit einem einzigen Werkzeug erledigen kann.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Jens Link am :
Dirk Deimeke am :
Neben den "useless use of cat"-Awards wissen die meisten nicht, dass man die Umleitungen irgendwo im Kommando verbauen kann ... das reicht schon, um langjährige Shell-User ins Grübeln zu bringen.
Charly Kuehnast am :
Im Zweifelsfall gewinnt nicht der eleganteste Code, sondern der, der sich am einfachsten warten und pflegen lässt... auch nach einem Jahr, auch von einem neu hinzugekommenen Kollegen.
Dass es nicht einfach ist, kilometerlange "Pipe-Schlangen" im Kopf zu parsen, weiß ich aus leidvoller Erfahrung. Leider gilt das oft auch für awk-Code und komplexe reguläre Ausdrücke.
Was immer hilft, sind ausführliche Kommentare im Code.
Dirk Deimeke am :
Selbstverständlich muss das Endergebnis wartbarer Code oder/und gute Dokumentation zum Code sein.
Aber bei systembelastenden Scripts lohnt es sich schon darüber nachzudenken, wie man etwas möglichst Ressourcen schonend zu Ende bringt. Und in diesem Fall kann es sinnvoll sein, beispielsweise eine Reihe von greps in einen einzelnen awk-Befehl (oder ein awk-Skript) zu bauen, auch wenn es dadurch für weniger erfahrene Kollegen schwerer nachzuvollziehen ist.