вставить 4 пробела после добавления нескольких строк из текстового файла

#bash #sed #text-files #line #spaces

#bash #sed #текстовые файлы #строка #пробелы

Вопрос:

Я хочу добавить несколько строк после сопоставления с шаблоном. Итак, из

 Pattern:
bla
  

Для

 Pattern:
    line1-from-file1
    line2-from-file1
bla
  

Я запустил что-то вроде этого sed '/Pattern/r file1' file2 , но это дало:

 Pattern:
line1-from-file1
line2-from-file1
bla
  

Ответ №1:

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

 sed 's/^/    /' file1 | sed '/pattern/r /dev/stdin' file2
  

Передайте измененный sed файл1 во второй вызов сопоставления sed pattern в file2.

Улучшенный файл1 представляется как /dev/stdin и добавляется во второй sed с помощью r команды.