Jak użyć sed do zastąpienia tylko pierwszego wystąpienia w pliku?
Chciałbym zaktualizować dużą liczbę plików źródłowych C ++ za pomocą dodatkowej dyrektywy include przed istniejącymi #includes. Do tego rodzaju zadań zwykle używam małego skryptu basha z sedem, aby ponownie napisać plik.
Jak mogę uzyskaćsed
zastąpić tylko pierwsze wystąpienie ciągu w pliku, zamiast zastępować każde wystąpienie?
Jeśli używam
sed s/#include/#include "newfile.h"\n#include/
zastępuje wszystkie # zawiera.
Mile widziane są również alternatywne propozycje osiągnięcia tego samego.