Я хочу реализовать несколько каналов в c, чтобы я мог сделать что-то вроде этого, где |||
означает дублирование команд stdin to N pipe):
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, чтобы сделать это.
Спасибо!