Как использовать sed, чтобы заменить только первое вхождение в файле?

Я хотел бы обновить большое количество исходных файлов C ++ с помощью дополнительной директивы include перед любым существующим #include. Для такого рода задач я обычно использую небольшой скрипт bash с sed, чтобы переписать файл.

Как я могу получитьsed заменить только первое вхождение строки в файле, а не заменять каждое вхождение?

Если я использую

sed s/#include/#include "newfile.h"\n#include/

он заменяет все #include.

Альтернативные предложения для достижения того же самого также приветствуются.

Ответы на вопрос(20)

Ваш ответ на вопрос