gpt4 book ai didi

c - 如何获取 grep 的输出并将其写入新文件

转载 作者:行者123 更新时间:2023-11-30 20:13:55 33 4
gpt4 key购买 nike

我想在文件上获取 grep 命令的输出,创建一个新文件并将 grep 输出保存到新创建的文件中,有人可以为我指出正确的方向吗?

最佳答案

您选择的路径很大程度上取决于您希望它有多简单。

也许最简单的方法是使用系统:

#include <stdio.h>
#include <stdlib.h>

int main (void) {
system ("grep a *.c >outfile.txt");
return 0;
}

如果您对 grep 或非固定输出文件有不同的参数,您也可以动态构建命令。

<小时/>

除此之外,您还可以使用 popen() (如果您的实现中可用 - 它不是 ISO 强制要求的,而是 POSIX 的东西)以及 fgets()fgetc() 读取该命令的输出并对其执行任何您想要的操作:

#include <stdio.h>

int main (void) {
int chr;

FILE *echo = popen ("echo hello there", "r");
if (echo != NULL) {
while ((chr = fgetc (echo)) != EOF)
putchar (chr);
fclose (echo);
}
return 0;
}
<小时/>

下一步可能是完全不依赖外部 grep ,而是包含类似 PCRE 的内容。 (Perl 兼容的正则表达式)到您自己的代码中,使您可以更好地控制发生的情况。

关于c - 如何获取 grep 的输出并将其写入新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28534566/

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