SED Поиск и замена на Linux

Я хочу изменить значение с 1521 по 1525 в FROM_HOST only в файле gexhosts.cat :

 FROM_HOST db201521 TO_HOST db201521 

Есть ли способ сделать это или работать?

Я бы предпочел, если бы мы могли использовать sed поскольку я использую sed для многих других моих действий.

2 Solutions collect form web for “SED Поиск и замена на Linux”

Ты можешь сделать:

 sed '/^FROM_HOST/ s/1521$/1525/' gexhosts.cat 

Чтобы отредактировать файл:

 sed -i.bak '/^FROM_HOST/ s/1521$/1525/' gexhosts.cat 

Исходный файл будет скопирован как gexhosts.cat.bak а измененным файлом будет gexhosts.cat .

Если вы не хотите сохранять резервную копию:

 sed -i '/^FROM_HOST/ s/1521$/1525/' gexhosts.cat 

Вы можете сделать это так:

 sed 's/\(FROM_HOST.*\)1521/\11525/' gexhosts.cat 
  • Простое использование суффикса адресной строки '/ M'?
  • Есть ли эквивалент для vim \ zs в sed или perl?
  • Как удалить все строки, которые имеют одно значение в строке?
  • Условно удалить строку из файла
  • Необходимо вставить одинарные кавычки в текстовый файл для использования в качестве SQL-запроса с помощью sed
  • Я хочу добавить «n» строк из файла (скажем, file1) в другой файл под «n» вхождения строки в другой файл, чтобы
  • Почему sed печатает первую строку из файла, даже если не удается найти соответствующие группы
  • Как получить строки, чей n-й столбец содержит m-й столбец
  • отображать пользователей, которые вошли в систему с даты, используя последние
  • Учебный материал Sed and Awk
  • копировать и вставлять текст с конца строки
  • Linux и Unix - лучшая ОС в мире.