Я часто хочу автоматизировать такого рода задачи в сценарии оболочки:
если строка:
SOMEKEY=SOMEVALUE
существует в файле, затем измените его на
SOMEKEY=SOMEOTHERVALUE
в противном случае добавьте строку SOMEKEY=SOMEOTHERVALUE
в файл.
Как я мог пойти об этом? Я думаю, что мог бы сделать это, используя комбинацию grep
и sed
, но я уверен, что это достаточно распространенная задача, что кто-то уже разработал элегантное решение.
Кстати, при замене я бы обычно делал что-то подобное
sed -i 's/old/new/g' fname
Но это означает, что я должен быть очень осторожным при составлении своих регулярных выражений, чтобы не ошибиться. Есть ли простой способ "предварительного просмотра", какие изменения произойдут из моего вызова sed
без реального нажатия на файл?