Вроде невелика проблема, а вопросы вызывает. Понятно, что вот так работать не будет:
VAR1="Nado naiti"
VAR2="Nado zamenit'"
sed 's/$VAR1/$VAR2'
т.к. одинарные кавычки в команде sed
все закэранируют, и sed
будет искать черти что и с боку бантик.
1. Поменять одинарные кавычки на двойные.
2. Поменять sed’овский разделитель слэш (/
) на что-нибудь другое, например на знак %
(Уникальность программы sed в том, что она позволяет использовать любой разделитель, например знак подчеркивания)
VAR1="Nado naiti"
VAR2="Nado zamenit'"
sed "s%$VAR1%$VAR2"
Добавление строки в начало файла из предыдущей заметки. Строка содержится в переменной $FIRSTSTRING
:
sed -i -e "1 s%^%$FIRSTSTRING\n%" file.txt
Замена строки, начинающейся с любого количества пробелов и/или со строки из переменной $START
на строку, содержащуюся в переменной $REPLACE
:
sed -i "s%^ *$START.*%$REPLACE%" file.txt