wie fügt man vor dem #-Symbol einen Backslash ein?

wie fügt man vor dem #-Symbol einen Backslash ein?

In der Bash-Programmierung ist eine Variable, sagen wir varA, gegeben, die einen String mit #dem Symbol speichert. Nehmen wir an, varAsie enthält diesen Wert: ASD# 1, ich muss \am Anfang einen Backslash anhängen #, damit die Ausgabe so aussehen könnte: ASD\# 1. Der folgende Code ist ungefähr dazu da, mein Ziel zu erreichen, nur der String-Ersatz scheint nicht zu funktionieren und ich kann die Ausgabe des sed-Befehls nicht einer anderen Variable zuweisen. Irgendwelche Erkenntnisse dazu?

varA="ASD# 1"
echo $(sed s/\#/\\#/g <<< ${varA})

Antwort1

In Ihrem Ausdruck fehlt ein Anführungszeichen sed.

Versuchen:

$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1

Antwort2

sedDie Verwendung nur einer Variable verursacht Mehraufwand . In bashkönnen Sie verwenden ${varA/\#/\\\#}.

verwandte Informationen