文件(test.h)中有许多行,例如:
#include <stdio.h" should be converted to #include <stdio.h>
第一个模式是&#39; #include&lt;&#;;第二个模式是&#39; .h&#34;&#39;,我想在一个命令行中使用sed,匹配两种模式同时进行,但只替换第二种模式。
我使用以下命令:
sed -i 's/include </include </g;s/\.h\"/\.h>/g' test.h
但是它将分别替换模式,不能同时匹配。
答案 0 :(得分:1)
试试这个:
sed '/#include </s/\.h"/.h">/' test.h
当该行包含#include <
时,请将.h"
替换为.h>
。
答案 1 :(得分:0)
sed -E '/^[[:blank:]]*#include[[:blank:]]*<.*\.h\"$/{s/\"$/>/}' test.h