Hallo,
die neue Version von GNU sed (4.x) ist nicht kompatibel zur alten (3.x), und das erfordert die Überarbeitung von etlichen Skripten.
Nehmen wir an, ich möchte aus autoconf --version | head -1 autoconf (GNU Autoconf) 2.5.7 die Versionsnummer extrahieren.
Das ging bei mir problemlos mit: sed 's/^[A-z-.\ ()]*//;s/ .*$//' Der Bindestrich nach A-z muß natürlich gequotet werden, worüber sich ein Woody nicht beschwert hätte (sed 3.0.2), ein Valhalla dagegen schon (RedHat 7.3, ebenfalls sed 3.0.2).
Nun gibt es aber das neue sed, welches kein A-z mehr mag, und bei obigem Ausdruck nur noch 'autoconf' ausspucken würde statt 2.5.7. Es reagiert witzigerweise auf a-z, ohne daß der i-Parameter angegeben wird, wobei dann wiederum die Redhat-Version ein 'GNU' zurückliefert. Wat nu, sprach das GNU...
Der Workaround ist ersteinmal, a-zA-z anzugeben, damit beide sed's was wegzuparsen haben. Korrekt kommt mir das aber nicht vor...
Josef
P.S. Valhalla läuft auf den SourceForge-Shellservern, wer's testen will.