我想在 c 中实现多管道,所以我可以做这样的事情,这|||
意味着将标准输入复制到 N 管道命令):
cat /tmp/test.log ||| wc -l ||| grep test1 ||| grep test2 | grep test3
这将返回给我文件中的行数和文件中包含“test1”字符串的行以及文件中包含“test2”&&“test3”字符串的行
换句话说,这将具有以下 3 个常规管道的效果:
cat /tmp/test.log | wc -l --> stdout
| grep test1 --> stdout
| grep test2 | grep test3 --> stdout
有人已经实现了这样的东西吗?我没有找到任何东西... 注意:我知道它可以使用脚本语言或 bash 多个文件描述符来完成,但我正在搜索 C 代码来完成它。
谢谢!