我正在尝试提取 Java 注释开始或结束的行:
我所拥有的是:
egrep "(/** | /* | */ | **/)" text.txt
我注意到这适用于所有行(例如 /* comment */),除了那些包含仅有的/*、/**、**/ 或 */ 并且其前后没有任何内容。
为什么是这样?
答案1
您的模式egrep "(/** | /* | */ | **/)" text.txt
包含明确的空格;尝试没有它们:egrep "(/**|/*|*/|**/)" text.txt
答案2
您在模式中包含空格,并且忘记了以 开头的注释行//
。
和:
egrep "(/\*\*|/\*|\*/|\*\*/|//)" text.txt
我看到所有开始或结束注释的行,包括仅包含标记的行。例如...
文本.txt:
this should not be there
// this should be there
/* and this too */
/** even this
should be there too **/
/* or
that
also */
not this
/*
*/
/**
**/
输出:
// this should be there
/* and this too */
/** even this
should be there too **/
/* or
also */
/*
*/
/**
**/