Ist zwar etwas OT, aber weil es mich so verwundert hat, habe ich mal ein paar einschlägige Programme mit dem regulären Ausdruck beglückt und für mich erstaunliche Abweichungen erhalten:
Ausgang: abcde2
Austausch mit s/\([a-z]*\)/X\1Y/g
vim 7.3 (auch im vi-Kompatibilitätsmodus) (mein Lieblingseditor ;-)
XabcdeY2
Vi Version 1.79 (10/23/96) The CSRG, University of California, Berkeley.
XabcdeY2XY
Vi: HP Version $ B.11.11_LR Oct 27 2000 00:57:16
Line overflow in substitute (!!!!)
Sed unter Windows:
>echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XYbcdeYXY2XY (Hier ist das a verschwunden)
>sed --version
GNU sed version 3.02
Unter Debian Linux:
:~$ echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XabcdeY2XY
:~$ sed --version
GNU sed version 4.1.2
Unter HP-UX Rel. 11i
$ echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XabcdeYXY2XY (Das ist die Oracle-Version)
Und ich hätte gedacht, nur was der Vim da macht, ist richtig. Aber da scheinen die Meinungen der Entwickler weit auseinanderzugehen
Ralf
Ausgang: abcde2
Austausch mit s/\([a-z]*\)/X\1Y/g
vim 7.3 (auch im vi-Kompatibilitätsmodus) (mein Lieblingseditor ;-)
XabcdeY2
Vi Version 1.79 (10/23/96) The CSRG, University of California, Berkeley.
XabcdeY2XY
Vi: HP Version $ B.11.11_LR Oct 27 2000 00:57:16
Line overflow in substitute (!!!!)
Sed unter Windows:
>echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XYbcdeYXY2XY (Hier ist das a verschwunden)
>sed --version
GNU sed version 3.02
Unter Debian Linux:
:~$ echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XabcdeY2XY
:~$ sed --version
GNU sed version 4.1.2
Unter HP-UX Rel. 11i
$ echo abcde2|sed "s/\([a-z]*\)/X\1Y/g"
XabcdeYXY2XY (Das ist die Oracle-Version)
Und ich hätte gedacht, nur was der Vim da macht, ist richtig. Aber da scheinen die Meinungen der Entwickler weit auseinanderzugehen
Ralf
Comment