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.