Я хочу вставить ряд строк из файла, скажем что-то вроде 210,221r
перед первым вхождением шаблона в кучу других файлов.Sed - вставить определенные строки из файла перед первым вхождением шаблона
Поскольку я явно не эксперт GNU sed, я не могу понять, как это сделать.
Я попытался
sed '0,/pattern/{210,221r file
}' bunch_of_files
Но, видимо file
считывается из строки 210 EOF.
Моя проблема в том, что PUT_BEFORE имеет несколько строк и содержит множество специальных символов, которые нужно будет экранировать, поэтому я хочу прочитать их из файла, в котором он уже находится. Я думаю, что могу создать временный файл, содержащий только эти строки и прочитать его, но я хотел бы знать, доступны ли диапазоны чтения с помощью GNU sed. – hdl
Я отредактировал свой ответ. – dummy
Спасибо, это полезно, но я только что нашел ответ, который избавляет от дополнительной стоимости вызова 'cat' или другого экземпляра' sed'. Я опубликую его ниже, но, тем не менее, он не решает проблему чтения * конкретных * строк файла. – hdl