Ich habe ein kleines Shellskript geschrieben, um die Codezeilen meiner Lisp-Quelldateien halbwegs sinnvoll abschätzen zu können.  Leer- sowie durch Strichpunkte eingeleitete Kommentarzeilen können recht leicht mithilfe von grep herausgefiltert werden, aber Docstrings sind ein nichttriviales Problem.  Man mag es für einfach halten, schlicht alle Strings herauszufiltern; doch weder sed noch grep können hier helfen, weil sie nur zeilenweise arbeiten. 
Also versuchte ich mich an einem Perl-Einzeiler.  Auch perl -p und perl -l arbeiten lediglich zeilenweise, doch fand ich heraus, daß sich dieses Verhalten durch die Option -0777 ändern läßt.  Ich habe nicht die leiseste Ahnung, was diese Option bedeutet, aber sie scheint zu funktionieren. 
Die fertige Zeile lautet: egrep -v "^$| *;" dateiname.lisp | perl -pne 's/".*?"//mgs' -0777 | wc -l.  Das Skript außen herum kann man sich dazudenken. 
Comments
Submit a comment
Note: This website uses a JavaScript-based spam prevention system. Please enable JavaScript in your browser to post comments. Comment format is plain text. Use blank lines to separate paragraphs.