Re: Höhendaten aus Track entfernen?

von: nom

Re: Höhendaten aus Track entfernen? - 02.06.15 08:49

In Antwort auf: ohne Gasgriff
In Antwort auf: nom

Besser
Code:
:%s#<ele>[0-9\.]*</ele>##g


Vorsicht mit dem Backslash vor dem Punkt. Bei # als Trennzeichen wird so ziemlich jedes Sonderzeichen in den nachfolgenden Argumenten einfach als Zeichen interpretiert. Der Editor würde sich also auf die Suche nach Backslashes machen und nix finden. So war's zumindest unter Unix sowohl bei vi als auch sed.


Du hast Recht, der Backslash ist überflüssig. Das hat allerdings nichts mit dem # als Trennzeichen zu tun, sondern damit, dass der Punkt in einer Collection steht. Das # sorgt nur dafür, dass das / im Suchmuster nicht maskiert werden muss.

Unter Vim führt der Backslash nur dazu, dass das Suchmuster neben Ziffern und dem Punkt auch den Backslash erlaubt, und nicht dazu, dass der Text zwangsläufig einen Backslash enthalten muss. Das Muster erfasst beispielsweise sowohl <ele>123</ele> als auch <ele>12\34</ele>.
Es kann durchaus sein, dass ein Vanilla-Vi nicht mit dem Muster zurecht kommt, denn streng genommen gehört der Backslash maskiert wenn er in einer Collection steht. Mit dem Vim funktioniert das Muster allerdings problemlos.