Вставить текст внутри строки в конце строки данных

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

Это конец файла:

text-string1,text-string2,text-string3; } 

Мне нужно иметь возможность вставлять текст после text-string3, но все равно держать его внутри полуколоны и скобки. Как это:

 text-string1,text-string2,text-string3,new-text-string; } 

Каков наилучший способ выполнить это из командной строки?

2 Solutions collect form web for “Вставить текст внутри строки в конце строки данных”

Может быть сделано, например, с одним sed но для простоты я бы использовал tac :

 tac file | sed '2s/;$/new-text-string;/' | tac 
 sed -i 's/;$/,new-text-string;/' filename 

Найдет последнее появление «;» и добавьте перед ним новые данные. -i делает его заменой на файл из командной строки.

  • Bash Scripting: печать данных столбца в одной строке
  • Объединить два greps в одну команду
  • Захватить определенное содержимое файла
  • возможно ли добавить запятую в этот SQL?
  • Указание параметров командной строки, разделенных запятыми, на основе строк текстовых файлов
  • Замена нескольких звездочек в vi
  • Тестирование регулярного выражения из stdin с помощью grep | sed | awk
  • подсчеты совпадений и несоответствий
  • Как разбирать JSON с помощью сценариев оболочки в Linux?
  • Как заменить новую строку на sed?
  • sed: игнорировать строку, начинающуюся с пробела для соответствия
  • Linux и Unix - лучшая ОС в мире.