Изменение конца строки всякий раз, когда она содержит определенную строку

У меня есть файл, где я хочу добавить текст в конце каждой строки всякий раз, когда он содержит определенную строку:

output(), output(abcdefgh), 

становится

 output()); output(abcdefgh)); 

Поэтому в основном я хочу обнаружить "output( удалить и добавить ); в конец каждой строки, которая соответствует указанному условию.

2 Solutions collect form web for “Изменение конца строки всякий раз, когда она содержит определенную строку”

В Vim:

 :g/output(/ s/,$/);/ 

:g /pattern/ запускает команду на всех строках, соответствующих pattern , и команда s затем заменяет конец строки: a ); ,

Если я правильно понимаю, вы хотите

 otherline(), ... output(), ... output(abcdefgh), output 

для перевода на

 otherline(), ... output()); ... output(abcdefgh)); output 

Я стараюсь использовать Perl:

 perl -pe 's/output\(.*?\)\K,$/);/' 
  • Как последовательно запустить командную строку Vim, чтобы сделать картографирование в любом режиме?
  • Редактирование Live diff-mode в vim
  • Проверка скрипта скрипта Vim
  • TERM = (linux | xterm) vi в xterm или проблема AAABBBBBBCCDDD
  • Использование! в VIM
  • GVim, скомпилированный из источника, открытого через SSH -X, не копирует пасту при выборе
  • определение местоположения в документе с помощью vim.
  • Разница в поведении `<Esc>` и `inoremap jk <Esc>` в vim
  • Почему Vim не может открыть текстовый файл размером 100 МБ, если у меня 16 ГБ оперативной памяти?
  • Переместить стрелки вверх и вниз в gj-gk в режиме ввода vim без использования <co>?
  • Vim & Vimperator: Карта Windows / Мета ключ?
  • Linux и Unix - лучшая ОС в мире.