我需要删除有关差异的代码段的注释部分。
我使用grep和sed删除以#,//和;开头的所有行,以及/ *和* /所包含的多行。
一个问题是,此规则还会删除以#include和#!/ bin /开头的行,无论哪些是有效的代码语句。
有没有办法保留包含#include和#的行?在开始时,但使用grep或bash删除以#开头的其余行。
提前感谢您的回复。
答案 0 :(得分:0)
使用\
转义,换句话说,如果你想保留#
,请使用\#
。但是,请您更详细地了解编程语言,以便为您提供准确的答案
答案 1 :(得分:0)
egrep "^ *([^ #]|#!|#include|$)"
答案 2 :(得分:0)
我认为最简单的方法是使用egrep -v
来管道原始的grep命令,如下所示:
grep "your-pattern" *.c | egrep -v "^\s*#(!|include|define)\b"