First line NC1.c
/* comments
second line nc1.c
*/
*/
adsf
asfd
Ich möchte die Zeilen zwischen den "/" und der letzte "/" und löschen Sie sie, das Ergebnis ist
First line NC1.c
adsf
asfd
Wie soll ich den Befehl schreiben?
Antwort1
So etwas scheint ok zu sein:
$ sed '/\/\*/,/\*\//d; /\*\//d; /\/\*/d' file4
First line NC1.c
adsf
asfd
Für die Bearbeitung direkt vor Ort können Sie sed -i verwenden.
Dieser Sed führt drei separate Löschungen durch:
/\/\*/,/\*\//d
= Zeilenbereich zwischen Muster /* und */ (mit \ maskiert)
/\*\//d
= Zeilen, die */ enthalten (maskiert)
/\/\*/d
= Zeilen, die /* enthalten (maskiert)