Как использовать команду SED для вставки строки перед сопоставлением с шаблоном - PullRequest
0 голосов
/ 25 февраля 2019

После выполнения команды sed -i "/class MySQLPagedResultsajax/i Thing I Wish To Add;" /File/Location/

Я получаю следующие результаты:

Thing I Wish To Add;class MySQLPagedResultsajax 

В то время как я хочу добиться этого:

Thing I Wish To Add;
class MySQLPagedResultsajax 

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

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Просто используйте awk для всего, кроме простого s / old / new:

awk '/class MySQLPagedResultsajax/{print "Thing I Wish To Add;"} 1' file

add -i inplace, чтобы выполнять псевдо-замену в GNU awk, как вы можете выполнять псевдо-замену в GNUСед, добавив - я.

0 голосов
/ 25 февраля 2019

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

sed -i '/class MySQLPagedResultsajax/s/^/Thing I Wish To Add;\n/'

Или, прежде чем вы будете уверены, попробуйте сначала это и проверьте вывод на консоли:

sed -e '/class MySQLPagedResultsajax/s/^/Thing I Wish To Add;\n/'

s - это s команда ubstitute.
^ означает начало строки.
\n перевод строки.

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