2013-08-11 3 views
1

Я с трудом найти шаблон и добавить строку перед рисунком в СЭДНайти шаблон и добавить в СЭД

Предположим, я хочу, чтобы найти следующую картину с SED

"stackov/er;flo.w users are great" 

Примечание: шаблон для поиска содержит двойные кавычки, /,; и точка А затем добавить эту строку как раз перед рисунком

proud sta{ckov,er member 

Мои попытки

sed "|"stackov/er;flo.w users are great"|i\proud sta{ckov,er member" file 1.

2.

sed "/stackov/er;flo.w users are great|i\proud sta{ckov,er member" file 

Я пытался заменить/разделитель на | а затем вырваться/в шаблон с помощью \, но это не сработало.

Любая помощь приветствуется

+0

http://www.grymoire.com/Unix/Sed.html#uh-4 –

ответ

3

Это может работать для вас (GNU СЭД):

sed '/"stackov\/er;flo\.w users are great"/i\proud sta{ckov,er member' file 
+0

Спасибо чувак ... Как изменится команда если двойные кавычки находятся в шаблоне поиска, например «stackov/er; flo.w us» ers are great » – user2650277

+0

Если вы указали одну или две команды (как в решении), двойные кавычки обрабатываются так же, как и любые другие, -meta character, т. е. им не нужно указывать. - potong 11 часов назад – potong

0

Если вы не на Windows (в этом случае я не знаю), вы в принципе хотите весь sed сценарий в одинарные кавычки, а не в два раза.

sed '\|"stackov/er;flo.w users are great"|i\proud sta{ckov,er member' file 

Вы можете заставить его работать с двойными кавычками, а также, но если вы специально не требуете двойных кавычек, вы должны по умолчанию одинарных кавычек. Читайте на the shell's quoting behavior, если вы хотите использовать его и в будущем.

Смежные вопросы