Редактор Steam (Steam editor), сокращенно sed, – это команда, используемая для поиска и замены любого текста в файле с использованием различных методов и синтаксисов. В этом посте мы познакомимся с концепциями sed и узнаем, как можно заменить переменную или ее значение в файле с помощью sed.
Синтаксис для замены строки
Для замены значения переменной с помощью команды sed нам сначала нужно понять, как работает sed и как мы можем заменить простую строку в любом файле с помощью sed.
Чтобы заменить любую строку, синтаксис довольно прост и приведен ниже:
$ sed -i 's/old-string/new-string/g' file_name
В этом синтаксисе вам просто нужно указать строку, которую вы хотите заменить, на старую строку, а затем новую строку в кавычках. После этого укажите файл, в котором вы хотите найти и заменить указанную строку.
Пример:
Предположим, у нас есть текстовый файл «file.txt», в котором есть случайный текст, например «Добро пожаловать на сайт AndreyEx», и в этом файле мы хотим заменить слово «сайт» на веб-сайт с помощью команды sed.
$ cat file.txt
Команда для изменения сайт на веб-сайт будет выглядеть так:
$ sed -i 's/channel/website/g' file.txt
После выполнения команды мы снова смотрим на файл:
$ cat file.txt
Строка была заменена с помощью команды sed. Итак, вот как вы можете найти и заменить любую строку в любом файле операционной системы Linux с помощью команды sed.
Теперь давайте научимся заменять значение переменной в файле.
Заменить переменную
Синтаксис поиска и замены значения переменной в файле с помощью sed такой же, как поиск и замена строки в файле. Единственная сложная часть – это написать регулярное выражение, чтобы найти что-нибудь в файле, чтобы заменить эту часть. Итак, для изменения значения переменной синтаксис будет таким:
$ sed -i 's/var=.*/var=new_value/' file_name
Давайте посмотрим на пример, чтобы увидеть истинную реализацию и понять ее с большей ясностью.
Пример:
Предположим, у нас есть файл кода Python, в котором есть пара переменных. Этим переменным присвоены некоторые значения.
$ cat code.py
Теперь, чтобы заменить любую переменную, мы можем найти ее по ее имени и предоставить ей новое значение, используя команду sed, приведенную ниже:
$ sed -i 's/num1 =.*/num1 =200/' code.py
После выполнения вышеуказанной команды sed мы снова отображаем содержимое файла:
$ cat code.py
Вы можете видеть, что значение переменной «num1» было заменено согласно нашему требованию.
Используя этот простой трюк, вы можете заменить любую переменную или ее значение в любом файле с помощью sed.
Заключение
Этот пост предоставляет простой и легкий способ найти и заменить переменную в любом файле с помощью sed. Мы научились заменять строку в файле и заменять значение переменной с помощью sed.