U
upperlimit
Jungspund
Hallo,
ich bin gerade dabei, meine sed-Kenntnisse aufzubessern. Dabei stiess ich auf folgendes Problem.
In einer (cpp)-Datei waren alle Kommentare mit // eingeleitet, bis auf eine einzelne Zeile. Um Konsistenz in dieser Quelle herzustellen, benutzte ich nun sed, um aus der //-Zeile eine /*...*/-Zeile zu machen, also beispielsweise
// Transformation method
wird zu
/* Transformation method */
Dieses erreichte ich mit folgender sed-Zeile:
sed '{152s/\/\//\/\*/;152s/$/\*\//}' datei
(Die Idee, sed zu benutzen, waehlte ich, da ich noch andere Dateien gleichen Typs derart behandeln muss.)
Das Problem ist nun, dass ich fuer die Zukunft nicht sicher sein kann, dass dieser //-Kommentar ausschliesslich in Zeile 152 vorkommen kann (es arbeiten noch andere Kollegen an dieser und aehnlichen Dateien).
Daher ist meine Frage, wie ich den sed-Aufruf verallgemeinern kann, sodass jeder Zeile, die mit // beginnt, das // durch /* ersetzt wird und am Ende dieser Zeile ein */ angehaengt wird (ohne die genaue Zeilennummer zu kennen).
Vielen Dank und Gruesse,
upperlimit
ich bin gerade dabei, meine sed-Kenntnisse aufzubessern. Dabei stiess ich auf folgendes Problem.
In einer (cpp)-Datei waren alle Kommentare mit // eingeleitet, bis auf eine einzelne Zeile. Um Konsistenz in dieser Quelle herzustellen, benutzte ich nun sed, um aus der //-Zeile eine /*...*/-Zeile zu machen, also beispielsweise
// Transformation method
wird zu
/* Transformation method */
Dieses erreichte ich mit folgender sed-Zeile:
sed '{152s/\/\//\/\*/;152s/$/\*\//}' datei
(Die Idee, sed zu benutzen, waehlte ich, da ich noch andere Dateien gleichen Typs derart behandeln muss.)
Das Problem ist nun, dass ich fuer die Zukunft nicht sicher sein kann, dass dieser //-Kommentar ausschliesslich in Zeile 152 vorkommen kann (es arbeiten noch andere Kollegen an dieser und aehnlichen Dateien).
Daher ist meine Frage, wie ich den sed-Aufruf verallgemeinern kann, sodass jeder Zeile, die mit // beginnt, das // durch /* ersetzt wird und am Ende dieser Zeile ein */ angehaengt wird (ohne die genaue Zeilennummer zu kennen).
Vielen Dank und Gruesse,
upperlimit