ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как заменить переменную в файле с помощью sed?

Bash Heredoc

Редактор 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.

Exit mobile version