【问题标题】:How to cut file name using EXEC + WC command in C如何在 C 中使用 EXEC + WC 命令剪切文件名
【发布时间】:2021-03-28 20:39:37
【问题描述】:

如何从下面的代码部分中删除文件名?

else { /* PROCESS D*/
execl("/bin/wc","wc","-l","temp1.txt", NULL); 
printf("If this message shows up it's an error on process D");
               
}

输出为:Found items: 7 temp1.txt

但我希望是这样的

找到的物品:7

【问题讨论】:

    标签: c linux fork exec stdout


    【解决方案1】:

    您传递运行 wc 的进程的 temp1.txt 标准输入的内容(例如参见 execl() does not seem to read from stdin),或者您通过 shell 运行 wc,以便使用重定向:

    execl("/bin/bash", "bash", "-c", "wc -l < file1.txt > file2.txt", NULL);
    

    【讨论】:

    • 艾伦,谢谢,根据你提到的帖子,我相信“/bin/bash”、“-c”、“wc -l
    • 干杯。请接受答案,以便我们知道您已准备就绪。为有帮助的答案点赞。
    • 是的,刚刚做到了“感谢反馈!声望低于 15 人的投票将被记录,但不要更改公开显示的帖子得分。” (:
    • 接受部分是导入部分。不用担心投票,更多的是让您知道如何作为新用户进行投票。欢迎芽!
    • 谢谢艾伦,实际上再次阅读我的教授写的内容,它是: wc -l file2.txt 我无法弄清楚''是什么意思这个案例。我应该从 file1 计算行数并在 file2 上打印吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    相关资源
    最近更新 更多