2015-10-11 6 views
0

У меня есть требование к обработке строк, где я хочу взять строку из номера строки n и отредактировать ее (замените @ 2 на @ 3), а затем вставьте новую отредактированную строку в номер строки n + 1Условный поиск и замена в оболочке

Вот что мой входной файл выглядит

входного файла: -

x/a y/a z/a 
x/[email protected] y/[email protected] z/[email protected] 
x/b y/b z/b 
x/[email protected] y/[email protected] z/[email protected] 

Ожидаемый результат, как показано ниже. Обратите внимание на третью строку с @ 3. Это то, чего я ожидаю.

x/a y/a z/a 
x/[email protected] y/[email protected] z/[email protected] 
x/[email protected] y/[email protected] z/[email protected] 
x/b y/b z/b 
x/[email protected] y/[email protected] z/[email protected] 

То, что я пробовал: - у меня есть базовое понимание СЭД. Так что я был в состоянии найти и заменить строку с помощью:

sed '/[email protected]/ s/[email protected]/[email protected]/' -i $file 

Однако я не смог найти способ, чтобы вставить его в следующей строке, где он был подобран.

Любая помощь будет оценена по достоинству. ТИА

ответ

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

  • Нет связанных вопросов^_^