Steam Editor, сокращенно sed, – это команда, используемая для поиска и замены любого текста в файле с помощью различных техник и синтаксиса.
В этом руководстве мы разберемся с концепциями sed и узнаем, как можно заменить переменную или ее значение в файле с помощью sed.
Синтаксис для замены строки
Для замены значения переменной с помощью sed нам сначала нужно понять, как работает sed и как мы можем заменить простую строку в любом файле с помощью sed.
Для замены любой строки синтаксис довольно прост и приведен ниже:
$ sed -i 's/old-string/new-string/g' file_name
В этом синтаксисе вам просто нужно указать строку, которую вы хотите заменить на старую, а затем новую строку через запятую.
После этого укажите файл, в котором вы хотите найти и заменить указанную строку.
Пример:
Предположим, у нас есть текстовый файл “file.txt”, в котором есть произвольный текст типа “Добро пожаловать на канал It is good”, и в этом файле мы хотим заменить слово канал на сайт с помощью команды sed.
cat file.txt
Добро пожаловать на канал It is good
$ sed -i 's/канал/сайт/g' file.txt
cat file.txt
Добро пожаловать на сайт It is good
Строка была заменена с помощью команды sed.
Вот как можно найти и заменить любую строку в любом файле операционной системы Linux с помощью команды sed.
Теперь давайте узнаем, как заменить значение переменной в файле.
Замена переменной
Синтаксис для поиска и замены значения переменной в файле с помощью sed такой же, как и для поиска и замены строки в файле.
Единственная сложность заключается в написании регулярного выражения для поиска чего-либо в файле для замены этой части.
Итак, для изменения значения переменной синтаксис будет выглядеть следующим образом:
$ sed -i 's/var=.*/var=new_value/' file_name
Давайте рассмотрим пример, чтобы увидеть истинную реализацию и понять ее с большей ясностью.
Пример:
Предположим, у нас есть файл кода Python, в котором есть несколько переменных.
Этим переменным присвоены некоторые значения.
$ cat code.py num1 = 1.5 num2 = 6.3
Теперь, чтобы заменить любую переменную, мы можем найти ее по имени и задать ей новое значение с помощью команды sed, приведенной ниже: