gpt4 book ai didi

linux - 从文本文件中删除注释行

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:07 26 4
gpt4 key购买 nike

我有一个包含以下文本的文本文件。

/* a comment line in a C program */
printf("It is /* NOT a comment line */\n");
x = 5; /* This is an assignment, not a comment line */
[TAB][SPACE] /* another empty comment line here */
/* another weird line, but not a comment line */ y = 0;

我只想使用 linux 命令删除以 /* 开头并以 */ 结尾的行。

我为此编写了以下代码。

egrep "^/*.+*/$" small.txt

我将文本保存在我的 small.txt 文件中。

但是它输出所有仅以 */ 结尾的行。

输出如下。

/* a comment line in a C program */
x = 5; /* This is an assignment, not a comment line */
[TAB][SPACE] /* another empty comment line here */

我想要的输出是

/* a comment line in a C program */

最佳答案

您可以使用此 sed 删除注释行:

sed '\~^/\*.*\*/$~d' file.c

或者使用grep:

grep -v '^/\*.*\*/$' file.c

 printf("It is /* NOT a comment line */\n");
x = 5; /* This is an assignment, not a comment line */
[TAB][SPACE] /* another empty comment line here */
/* another weird line, but not a comment line */ y = 0;

只打印匹配的行:

sed '\~^/\*.*\*/$~!d' file.c

或使用grep:

grep '^/\*.*\*/$' file.c

/* a comment line in a C program */

关于linux - 从文本文件中删除注释行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52398731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com