Gegeben:
Variable "ZeilenAktion1Arrey[i]" enthält:
bbb\nccc\n
Variable "ZeilenAktion2Arrey[i]" enthält:
g\.h"f\*$g"fd'd\/f#@%q\\n&='f\\g\\\\\/\/=?+\[\]{|()^`n`$r`a\\d,\\s\\w\\t\\r\\p{xx}f><~b\\s\\S\\w\\ W\nDatei "/etc/environment" enthält:
aaa bbb ccc ddd
Befehl:
1 2 | ZeilenAktion1Arrey[i]=$(sed ":a;N;\$!ba;s/${ZeilenAktion1Arrey[i]}/${ZeilenAktion2Arrey[i]}/g" "/etc/environment") echo "${ZeilenAktion1Arrey[i]}" |
erwarteter Output:
aaa
g.h"f*$g"fd'd/f#@%q\n&='f\g\\//=?+[]{|()^`n`$r`a\d,\s\w\t\r\p{xx}f><~b\s\S\w\ W
dddtatsächlicher Output:
aaa
g.h"f*$g"fd'd/f#@%q\nbbb
ccc
='f\g\\//=?+[]{|()^`n`$r`a\d,\s\w\t\r\p{xx}f><~b\s\S\w\ W
dddFrage: Wo liegt der Fehler, der dazu führt, dass ich nicht den erwarteten Output erhalte? Eine Antwort würde mich freuen.
Es scheint irgendetwas mit dem "&" zu tun zu haben. Aber was genau? "&" ist doch kein Regex-Sonderzeichen. Deshalb verstehe ich nicht, weshalb es hier stört.
Edit:
Vereinfachung:
Gleiches Verhalten, wenn die Variable "ZeilenAktion2Arrey[i]" folgendes enthält: q\\n&='f\n