%20von%20der%20Anweisung%20zum%20Einf%C3%BCgen%20von%20Text%20in%20einer%20bestimmten%20Zeile.png)
Ich habe einige Probleme mit sed und sehe eine Variable, die eine Zahlenanweisung für das Einfügen von Text in eine bestimmte Zeile bereitstellt.
hier ist der funktionierende Code ohne die Variable:
sed -i '1i\NewLineHere\' ~/file/location/here.txt
Ich muss die Zahl 1 in $var ändern, aber mit dem Buchstaben „i“ daneben (ohne Leerzeichen), ohne dass es als Teil der Variable gesehen wird. Ich verwende „ “ statt „ “, damit sed die Variablen richtig sehen kann. Ich habe unzählige verschiedene Versuche unternommen und keiner hat funktioniert. Ein Beispiel dafür, wie das Problem aussieht, ohne dass versucht wird, das „i“ von der Variable zu trennen, während es daneben bleibt:
sed -i "$vari\NewLineHere\" ~/file/location/here.txt
Vielen Dank im Voraus für alle Vorschläge oder Antworten
Antwort1
Hier ist das {}
Anführen von Variablennamen nützlich. In Ihrem Fall${var}
Zum Beispiel:
$ var=100
$ echo $vari
$ echo ${var}i
100i
Sie {...}
fungieren als „Scoping“ für den Variablennamen.
(Randbemerkung: Seien Sie \
beim Wechseln zwischen '
und vorsichtig mit dem Zeichen "
.)