Скрипт Bash: добавление текста в последний символ определенной строки файла - PullRequest
2 голосов
/ 05 мая 2011

Я пытаюсь добавить переменную в последний символ определенной строки файла из скрипта bash.

Файл называется myfile.txt, и я хочу добавить содержимое переменной с именем VERSION сразу после последнего символа строки файла, содержащей уникальную строку MYVERSION.

То есть, если в этой строке есть следующее:

MYVERSION=0.1

и VERSION="-custom_P1" тогда я хочу получить следующее:

MYVERSION=0.1-custom_P1

Спасибо всем за помощь.

Ответы [ 2 ]

3 голосов
/ 05 мая 2011

Попробуйте это:

sed -i "/^MYVERSION=/ s/\$/$VERSION/" myfile.txt

Идея состоит в том, что он находит строку, которая начинается с MYVERSION =, а затем заменяет конец этой строки содержимым переменной среды $ VERSION.

Редактировать: первоначально я не был уверен, нужно ли экранировать первый $, но комментарий @ sehe и его новички убедили меня в этом.

0 голосов
/ 05 мая 2011

Попробуйте

sed -e "s/^MYVERSION=/MYVERSION=.*$/&${VERSION}/g" < myfile.txt

Команда добавляет значение VERSION в строку с 'MYVERSION ='

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...