Форум — General [Bash'изм] Своя программа в конвеере. 0 1 Допустим: echo "1+1" | bc -l | my_program Моя программа представляет собой просто занесение выхлопа в файл, чисто для примера. Как реализовать? Ссылка
while read str do echo $str\n done > file А вообще, обычно в файл пихают сами ставя в конце конвеера > file jeuta ★★★★ (24.09.11 12:29:23 MSK) Показать ответы Ссылка
Ответ на: комментарий от jeuta 24.09.11 12:29:23 MSK > А вообще, обычно в файл пихают сами ставя в конце конвеера > file Я знаю, просто для примера сказал. Твою мать! Так и знал, что кто-нибудь это скажет! Gordy (24.09.11 12:31:44 MSK) автор топика Ссылка
Ответ на: комментарий от jeuta 24.09.11 12:29:23 MSK > \n перевод строки не работает. Он это в текст в файле заносит. Gordy (24.09.11 12:35:18 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от jeuta 24.09.11 12:29:23 MSK Но все равно спасибо. Gordy (24.09.11 12:37:04 MSK) автор топика Ссылка
Ответ на: комментарий от Gordy 24.09.11 12:35:18 MSK >перевод строки не работает man bash, builtins, echo на предмет -e и не забыть кавычки. /bin/echo емнип не обязан знать о -e, но всем пофиг. x3al ★★★★★ (24.09.11 13:48:44 MSK) Ссылка
дык в чём проблема? #include "stdio.h" int main() { char buf[256]; while (!feof(stdin)) { fgets(buf, 256, stdin); printf("<<<<%s", buf); } }> cat pipe_test.c| ./a.out ~ <<<<#include "stdio.h" <<<< <<<<int main() <<<<{ <<<< char buf[256]; <<<< while (!feof(stdin)) <<<< { <<<< fgets(buf, 256, stdin); <<<< printf("<<<<%s", buf); <<<< } <<<<} <<<<} do0dlez ★★ (24.09.11 13:55:12 MSK) Показать ответ Ссылка
Ответ на: комментарий от do0dlez 24.09.11 13:55:12 MSK Это на плюсах? Gordy (24.09.11 14:11:13 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от Gordy 24.09.11 14:11:13 MSK Cневажно на чём, просто твоя программа должна читать построчно входящий поток и каким-то образом на него реагировать do0dlez ★★ (24.09.11 14:18:23 MSK) Показать ответ Ссылка
Ответ на: комментарий от do0dlez 24.09.11 14:18:23 MSK а если на входе однострочный бинарник размером в гигабайт? dGhost ★★★ (25.09.11 20:34:27 MSK) Показать ответ Ссылка
Ответ на: комментарий от dGhost 25.09.11 20:34:27 MSK в смысле почему построчно? dGhost ★★★ (25.09.11 20:35:58 MSK) Показать ответ Ссылка
Почитай в учебниках или манах про потоки stdin, stdout и stderr. provaton ★★★★★ (25.09.11 20:42:17 MSK) Ссылка
FILE *out; out = fopen, blablabla char c; while (!feof(stdin)) { c = fgetc(stdin); fputc(out, c); } fcole(out); чем не устраивает такая конструкция? mi_estas ★ (25.09.11 20:46:46 MSK) Показать ответ Ссылка
Ответ на: комментарий от mi_estas 25.09.11 20:46:46 MSK *fclose mi_estas ★ (25.09.11 20:47:20 MSK) Ссылка
Ответ на: комментарий от dGhost 25.09.11 20:35:58 MSK dGhostв смысле почему построчно?Ошибся, потому что. Но всё равно, лучше читать блоками, чем посимвольно do0dlez ★★ (26.09.11 03:27:30 MSK) Ссылка