%22%20text.txt.png)
Ich versuche, Zeilen zu extrahieren, die einen Java-Kommentar beginnen oder beenden:
Was ich habe ist:
egrep "(/** | /* | */ | **/)" text.txt
Mir ist aufgefallen, dass dies für alle Zeilen funktioniert (wie z. B. /* Kommentar */), außer für diejenigen, die Folgendes enthalten:nur/*, /**, **/ oder */ und nichts davor oder danach.
Warum ist das?
Antwort1
Ihr Muster egrep "(/** | /* | */ | **/)" text.txt
enthält explizite Leerzeichen. Versuchen Sie es ohne diese:egrep "(/**|/*|*/|**/)" text.txt
Antwort2
Sie fügen in Ihr Muster Leerzeichen ein und vergessen die Kommentarzeilen, die mit beginnen //
.
Mit:
egrep "(/\*\*|/\*|\*/|\*\*/|//)" text.txt
Ich sehe alle Zeilen, die Kommentare beginnen oder beenden, einschließlich Zeilen, die nur die Token enthalten. Zum Beispiel ...
text.txt:
this should not be there
// this should be there
/* and this too */
/** even this
should be there too **/
/* or
that
also */
not this
/*
*/
/**
**/
Ausgabe:
// this should be there
/* and this too */
/** even this
should be there too **/
/* or
also */
/*
*/
/**
**/