4 Pluspunkte 0 Minuspunkte

Wie kann ich unter Linux aus einer Textdatei alle Kommentare entfernen die mit "/*" beginnen und mit "*/" enden?

#include<stdio.h>

/*
Das ist ein Kommentar
der über mehrere Zeilen geht.

Und Leerzeilen beinhaltet
*/
int main() {
...
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Das kannst du mit sed machen. Hier werden alle Zeilen zwischen /* und */ (inklusive) gelöscht.

sed -i '/\/\*/,/\*\//d' dateiname

von (716 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst awk benutzen um die Kommentare zu entfernen.

awk '!in_comment && /\/\*/ {in_comment=1; next} in_comment && /\*\// {in_comment=0; next} !in_comment'
von (706 Punkte)