Hi,
Ich möchte mit einem csh - Skript in C++ *.h - Files dem Kommentar vor jeder Klassendeklaration folgendes hinzufügen:
! \\class
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
Ein regulaerer Ausdruck mit "new line" scheint nicht zu funktionieren. Es sieht so aus, als ob sed sich die letzte Zeile merkt und dann dort mit dem Einfuegen beginnt.
Bsp. ohne \n:
*************
$ sed 's#** Class:#**! Class:#' theclass.h
/*
**! Class:
**
** Comment ...
**
*/
class TheClass{
public:
protected:
private:
};
Bsp. mit \n:
************
$ sed 's#/*\n** Class:#/*!\n** Class:#' theclass.h
/*
**/*!
** Class:
**
** Comment ...
**
*/
class TheClass{
public:
protected:
private:
};
Und wieso wird "/*!" nach "**" eingefuegt und nicht vorher?
Hat es was mit '\n' oder gar mit '!' zu tun?
Noch ein Beispiel mit '!' nach '\n':
************************************
$sed 's#/*\n** Class:#/*\n!** Class:#' theclass.h
sed 's#/*\n** Class:#/*\n Class:#' theclass.h
/*
**/*
Class:
**
** Comment ...
**
*/
class TheClass{
public:
protected:
private:
};
Das passierte nach einer Fehleingabe ('!' nach '\n'). Sieht fuer mich so aus als ob '!' ein Steuerzeichen ist.
Tipps?
Dank und Gruss, d-oli