Форум — 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 08:29:23 UTC) Показать ответы Ссылка
Ответ на: комментарий от jeuta 24.09.11 08:29:23 UTC > А вообще, обычно в файл пихают сами ставя в конце конвеера > file Я знаю, просто для примера сказал. Твою мать! Так и знал, что кто-нибудь это скажет! Gordy (24.09.11 08:31:44 UTC) автор топика Ссылка
Ответ на: комментарий от jeuta 24.09.11 08:29:23 UTC > \n перевод строки не работает. Он это в текст в файле заносит. Gordy (24.09.11 08:35:18 UTC) автор топика Показать ответ Ссылка
Ответ на: комментарий от jeuta 24.09.11 08:29:23 UTC Но все равно спасибо. Gordy (24.09.11 08:37:04 UTC) автор топика Ссылка
Ответ на: комментарий от Gordy 24.09.11 08:35:18 UTC >перевод строки не работает man bash, builtins, echo на предмет -e и не забыть кавычки. /bin/echo емнип не обязан знать о -e, но всем пофиг. x3al ★★★★★ (24.09.11 09:48:44 UTC) Ссылка
дык в чём проблема? #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 09:55:12 UTC) Показать ответ Ссылка
Ответ на: комментарий от do0dlez 24.09.11 09:55:12 UTC Это на плюсах? Gordy (24.09.11 10:11:13 UTC) автор топика Показать ответ Ссылка
Ответ на: комментарий от Gordy 24.09.11 10:11:13 UTC Cневажно на чём, просто твоя программа должна читать построчно входящий поток и каким-то образом на него реагировать do0dlez ★★ (24.09.11 10:18:23 UTC) Показать ответ Ссылка
Ответ на: комментарий от do0dlez 24.09.11 10:18:23 UTC а если на входе однострочный бинарник размером в гигабайт? dGhost ★★★ (25.09.11 16:34:27 UTC) Показать ответ Ссылка
Ответ на: комментарий от dGhost 25.09.11 16:34:27 UTC в смысле почему построчно? dGhost ★★★ (25.09.11 16:35:58 UTC) Показать ответ Ссылка
Почитай в учебниках или манах про потоки stdin, stdout и stderr. provaton ★★★★★ (25.09.11 16:42:17 UTC) Ссылка
FILE *out; out = fopen, blablabla char c; while (!feof(stdin)) { c = fgetc(stdin); fputc(out, c); } fcole(out); чем не устраивает такая конструкция? mi_estas ★ (25.09.11 16:46:46 UTC) Показать ответ Ссылка
Ответ на: комментарий от mi_estas 25.09.11 16:46:46 UTC *fclose mi_estas ★ (25.09.11 16:47:20 UTC) Ссылка
Ответ на: комментарий от dGhost 25.09.11 16:35:58 UTC dGhostв смысле почему построчно?Ошибся, потому что. Но всё равно, лучше читать блоками, чем посимвольно do0dlez ★★ (25.09.11 23:27:30 UTC) Ссылка