Kiryl Aleksandrovich Asked:2020-05-16 19:35:06 +0000 UTC2020-05-16 19:35:06 +0000 UTC 2020-05-16 19:35:06 +0000 UTC 如何从 Linux 上的文本文件中提取所有注释? 772 我在 Linux 上经历了很多不同的实用程序,最后我什么也没找到。它们都属于多行注释。用键 -E 停止 grep。这是从文件中获取所有 C 样式注释的正确方法吗? 请提供合适的实用程序,如有必要,请提供常规程序。 linux 1 个回答 Voted Best Answer Wiktor Stribiżew 2020-05-16T20:17:39Z2020-05-16T20:17:39Z 您可以使用 grep -Eoz "/\*+[^*]*\*+([^/*][^*]*\*+)*/" 选项 E- 设置 POSIX ERE 正则语法(大多数情况下使用更现代和更易于理解的正则语法,其中+这是一个量词,而不是符号+) o- 设置发出找到匹配的模式,而不是整行 z- 可以搜索多个字符串之间的匹配项。 正则表达式 /- 符号/ \*+- 1 个或多个字符* [^*]*- 0 个或多个字符* \*+- 1 个或多个字符* ([^/*][^*]*\*+)*- 0 次或多次重复 [^/*]/-和以外的符号* [^*]*- 0 个或多个字符* \*+- 1 个或多个字符* /- 符号/
您可以使用
选项
E- 设置 POSIX ERE 正则语法(大多数情况下使用更现代和更易于理解的正则语法,其中+这是一个量词,而不是符号+)o- 设置发出找到匹配的模式,而不是整行z- 可以搜索多个字符串之间的匹配项。正则表达式
/- 符号/\*+- 1 个或多个字符*[^*]*- 0 个或多个字符*\*+- 1 个或多个字符*([^/*][^*]*\*+)*- 0 次或多次重复[^/*]/-和以外的符号*[^*]*- 0 个或多个字符*\*+- 1 个或多个字符*/- 符号/