Я пытаюсь использовать sed для изменения строки в файле с именем convergence.gnu. У меня есть переменная с именем lafila
, которая является именем файла.
В настоящее время я могу сделать:
lafila="nGas060.dat"
sed -i "6s/.*/plot \"$lafila\" using 1:2 with l/" convergence.gnu
Это правильно изменяет шестую строку моего файла convergence.gnu на:
plot "nGas062.dat" using 1:2 with l
Однако теперь я хочу включить знак доллара в замененную строку, чтобы вместо этого получить:
plot "nGas062.dat" using ($1/1000):2 with l
Можете ли вы сказать мне, что изменить в моей команде sed? Если я убегаю от знака доллара, он не работает должным образом. Двойные доллары тоже не работают.
$lafila
. Сначала мне нужно, чтобы sed заменил $lafila, а затем использовал $1/1000. То есть, если переменная$lafila=nGas062.dat
, то мне нужен вывод:plot "nGas062.dat" using ($1/1000):2 with l
20.10.2017sed -i '6s/.*/plot "'$lafilas'" using ($1\/1000):2 with l/' convergence.gnu
Результат:plot "nGas060.dat" using ($1/1000):2 with l
20.10.2017