tobo hat geschrieben: 05.04.2022 01:56:37
Behandelt keine Zeilenenden, sondern ist eine Zeichenklasse bestehend aus den Zeichen , und $.
Wußte ich doch, daß ich irgendwo einen Fehler eingebaut hatte; bei meinem Ursprungsproblem hatte ich das auch mit 3 -e s/…/…/ formuliert und dann beim Vereinfachen für das Beispiel gedacht, das könnte man doch zusammenfassen. Sowas sind die Tücken dabei, daß das
$ in
[] wieder wörtlich genommen wird.
Wußte ich noch nicht, daß man:
dem
s-Kommando voranstellen kann, hat so aber einen Schönheitsfehler: würde auch eventuelle weitere Zeilen, beispielsweise „Variable23“ bearbeiten. Kann man sowas schreiben:
oder muß das „überschneidungsfrei“ sein, das heißt, fängt das
s erst nach dem „Vorspann“ zu suchen an oder am Zeilenanfang?
Das Ausweichen auf Negativklassen war ja hier doch nicht nötig, ginge aber auch nur dann, wenn man keine „Negativ-Sequenzen“ (finde alles beginnend mit
Variable=, was kein
,9, ist, gefolgt von
,9,) braucht.
tobo hat geschrieben: 05.04.2022 01:56:37
2 Verstehe ich nicht - zu wenig Beispiel, zuviel Prosa (oder zu spät).
Es ging darum, eine Shell-Variable in den Suchausdruck einzusetzen – und zwar unmittelbar vor einem Zeilen-End-
$.
ist auf seltsame Weise anders als:
. So werden die Inhalte von sowohl
$ANFANG, als auch
$SUCHWORTB korrekt eingesetzt, jedoch muß man bei
$SUCHWORTA, das direkt vor dem
$ steht, den ersten, den „Variablen-$“, mit gleich 2
\\ „maskieren“ oder den gesamten (Teil-)Ausdruck in eine Variable schreiben, die man dann
sed vorsetzt.