
내가 가지고 있다고 말해
#include <prog1/foo.h>
#include <prog1/bar.h>
#include <prog1/baz.h>
로 교체해야 해요
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
나는 다음과 같이 원래 일치 항목을 찾는 방법만 알고 있습니다.
sed -i -e '/#include\s<prog1\/.*\.h>/' testfile
하지만 문자열 중간에 무엇인가를 넣는 방법을 전혀 모릅니다.
답변1
sed
접근하다:
sed -E '/^#include/ s/<prog1/&\/prog1/' testfile
출력:
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
-E
더 확장된 경우를 위해 옵션이 추가되었습니다. 현재의 간단한 것은 그것 없이도 작동할 것입니다.