说我有
#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
为更多扩展案例添加了选项。即使没有它,当前的简单方法也能工作。