gpt4 book ai didi

c - 如何在 unix 中解析管道或重定向运算符?

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:10 24 4
gpt4 key购买 nike

我目前正在研究猫程序。我遇到的问题是每当我执行 unix 命令时:

./catpr file1 file2 file3 | grep string

我不知道如何通过指出存在管道运算符来标记解析结束。我目前正在使用系统调用在 C 中开发这个 cat 程序,所以我使用 argv 来跟踪参数;然而,每当我查看数组中与“|”对应的内容时,就会发现一些非常奇怪的东西。

最佳答案

所以你基本上需要的是你需要在三个文件中搜索一个模式。

因为您已经指定您正在使用系统 调用来执行您可以做的就是将字符串作为输入参数提供给程序。只需执行以下编译操作

./catpr file1 file2 file3 string

就在程序内部用 grep 进行系统调用。我正在为您提供完整的程序。我希望这就是您所需要的。

#include <stdio.h>
#include <string.h>
int main(int a,char *argv[])
{
char com[256]="";
strcat(com,"cat ");
strcat(com,argv[1]);
strcat(com," ");
strcat(com,argv[2]);
strcat(com," ");
strcat(com,argv[3]);
strcat(com," | grep ");
strcat(com,argv[4]); //this is your search pattern
system(com);
}

关于c - 如何在 unix 中解析管道或重定向运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43302824/

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