我想使用sed从c头文件中删除特定的注释'//'。 我不明白为什么在$末尾放置$无效。请提出建议。 请参见下面的代码。
sed -i -e 's,\\(^//\\)\\(#undef TEST_FIRMWARE$\\),\2,' ./XX_HEADER.h
如果我最后删除$,则该功能有效,但是当我放置$时,该功能无效。我想了解原因。
答案 0 :(得分:0)
我对捕获组内部的元字符的开头和结尾感到怀疑。试试:
sed -i -e 's,^\(//\)\(#undef TEST_FIRMWARE\)$,\2,' ./XX_HEADER.h
我的sed
版本似乎并不在意,但我确实知道我以前曾遇到过这种行为,因此可能是影响您的sed
版本的原因。 / p>