[linux] redirection типа tee
при чем тут потоки в стиле tee?
тебе нужны подобные утилитки? - смотри в мане see also
или в мане по башу(? может еще где) - что такое перенаправление ввода вывода и pipe, тотгда ты сам программу tee напишеь в пять минут
тебе нужны подобные утилитки? - смотри в мане see also
или в мане по башу(? может еще где) - что такое перенаправление ввода вывода и pipe, тотгда ты сам программу tee напишеь в пять минут
все это смотрел уже. pipe, насколько я понимаю, меня не устраивает. с потоками: если перенаправить stdout, то ничего на экран не будет выводиться...
что такое see also?
посоветуй что-нибудь конкретнее, плиз
что такое see also?
посоветуй что-нибудь конкретнее, плиз
Оно написано в самом низу man page.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
а... спасибо.
да, это тоже смотрел. я уж обчитался про потоки. мож че не понял?
а почему, собственно, не сделали перенаправление на множество дескрипторов?
да, это тоже смотрел. я уж обчитался про потоки. мож че не понял?

а почему, собственно, не сделали перенаправление на множество дескрипторов?
Ты подумай, как это сделать на уровне ядра.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
почему не сделали, сделали, сам напиши, коль разобрался...
Поясни.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
скажи какую задачу тебе решить?
как это тебя пайп не устраивает, когда tee их и использует...
а будет выводиться или нет - только от тебя зависит...
скажи точнее - чего ты хочешь от этотго всего, а лучше почитай Робачевского...
мож у меня взять, токма верни...
как это тебя пайп не устраивает, когда tee их и использует...
а будет выводиться или нет - только от тебя зависит...
скажи точнее - чего ты хочешь от этотго всего, а лучше почитай Робачевского...
мож у меня взять, токма верни...
чувак, нифига не понял, что ты хочешь собственно? Чем не устраивает каждый из вариантов?
хм... я как раз этого не добился... 
почему уверен, что сделали? если пользовался, то напиши как делать. буду благодарен

почему уверен, что сделали? если пользовался, то напиши как делать. буду благодарен
при чем тут я дро не понял, а потому -
создаем пайп ( pipe[])
pipe[1] одному процессу на вывод, pipe[0] любому количеству процессов на вход...
если честноо, то не знаю, вроде должно работать..
для таких вещей естьь сокеты...
если хочешь наоборот - то вариантов слишком много, как этот будет обрабатываться...
создаем пайп ( pipe[])
pipe[1] одному процессу на вывод, pipe[0] любому количеству процессов на вход...
если честноо, то не знаю, вроде должно работать..
для таких вещей естьь сокеты...
если хочешь наоборот - то вариантов слишком много, как этот будет обрабатываться...
Насколько понял, речь идёт, всё-таки, про трубы.
Если давать по наследованию один поток на несколько процессов, то они не устроят гонки с получением потока по частям?
Сокеты, есть подозрение, так же.
Можно, кажется, грязно похакать, перебив LibC и переписав загрузочные скрипты.
---
...Я работаю антинаучным аферистом...
Если давать по наследованию один поток на несколько процессов, то они не устроят гонки с получением потока по частям?
Сокеты, есть подозрение, так же.
Можно, кажется, грязно похакать, перебив LibC и переписав загрузочные скрипты.
---
...Я работаю антинаучным аферистом...
Ядро здесь при том, что я не помню механизма такого, чтобы имеющимися средствами сделать одновременный вывод от одного ко многим.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
ты чего добиться хочешь?
это же атомарные операции
это же атомарные операции
в общем-то цель простая: хочу запускать ./script со своими параметрами без тии, а он бы мне выводил на экран, как раньше, и еще в лог добавлял все, что выводит
помимо того, хочу, чтобы это было некриво
все свои варианты считаю достаточно кривыми...
помимо того, хочу, чтобы это было некриво
все свои варианты считаю достаточно кривыми...

ура-а-а-а! кто-то понял, чего я хочу!
Как я понял, задача такая.
Писатель: АБВГД...
Читатель 1-й: АБВГД...
Читатель 2-й: АБВГД...
По-моему, это ``tee''.
На уровне ядра, без хака, такое не делается.
(Особо извратные драйвера не берём.)
---
...Я работаю антинаучным аферистом...
Писатель: АБВГД...
Читатель 1-й: АБВГД...
Читатель 2-й: АБВГД...
По-моему, это ``tee''.
На уровне ядра, без хака, такое не делается.
(Особо извратные драйвера не берём.)
---
...Я работаю антинаучным аферистом...
не понял
чем вариант 1 кривой?
чем вариант 1 кривой?
1) разделяемая память
2) семафоры
3)сокеты
один процесс может передать многим, иначе нужна программа-сервер, что бы обрабатывать это так как надо тебе...
2) семафоры
3)сокеты
один процесс может передать многим, иначе нужна программа-сервер, что бы обрабатывать это так как надо тебе...
а tee как это делает по твоему?
тем, что каждый раз пользователю, т.е. мне, нужно говорить потоку, куда его выводить
скрипт должен знать сам
я считаю, что 1-й самый кривой...
скрипт должен знать сам
я считаю, что 1-й самый кривой...
Видимо тем, что человеку лень написать что-то вроде:
sed 's/$/| tee log/' my-script.sh >my-script.sh.tmp ; mv my-script.sh.tmp my-script.sh
---
...Я работаю антинаучным аферистом...
sed 's/$/| tee log/' my-script.sh >my-script.sh.tmp ; mv my-script.sh.tmp my-script.sh
---
...Я работаю антинаучным аферистом...
Человеку не нравится, что должна быть третья программа.
Её вызов надо прописывать руками отдельно.
Всякий раз.
``tee'', сам понимаешь, открывает на вывод несколько потоков.
---
...Я работаю антинаучным аферистом...
Её вызов надо прописывать руками отдельно.
Всякий раз.
``tee'', сам понимаешь, открывает на вывод несколько потоков.
---
...Я работаю антинаучным аферистом...
я вообщем не понял вообще поставленой задачи...
надо что бы куча потоков могла передать одному в один канал? или один куче? и то и другое делаетьтся стандартным IPC
надо что бы куча потоков могла передать одному в один канал? или один куче? и то и другое делаетьтся стандартным IPC
фу, доперло...
просто зачем нагружать систему лишними утилитами, когда этими можно сделать все...
пусть напишет свой вариант echo, что бы мог писать одновременно в файл и в stdout
просто зачем нагружать систему лишними утилитами, когда этими можно сделать все...
пусть напишет свой вариант echo, что бы мог писать одновременно в файл и в stdout
странный ты
как же он будет знать, если ты ему не говоришь?
как же он будет знать, если ты ему не говоришь?
Человеку лень прописывать кучу раз вызов третьей программы.
Если б можно было сказать: "А теперь, всё пишущееся в stdout, пишем ещё и в log," --- отменив потом такое извращение, было бы здорово.
Только нет такого готового решения.
---
...Я работаю антинаучным аферистом...
Если б можно было сказать: "А теперь, всё пишущееся в stdout, пишем ещё и в log," --- отменив потом такое извращение, было бы здорово.
Только нет такого готового решения.
---
...Я работаю антинаучным аферистом...
во-первых, у меня там не одни только эхи
во-вторых, я забочусь о простом изменении/добавлении
во-вторых, я забочусь о простом изменении/добавлении
А теперь ты объясни мне, чем тебе не нравится ``tee''.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
все правильно
а что нет - жаль!
а что нет - жаль!
зачем перегружать систему лишими проверками и вещами, которые решают лишь твои локальные проблемы, которые вообщем-то не проблемы...
мне-то все нравиться, а он похоже просто ленится написать где надо - tee
Ты, всё-таки, объясни мне, чем тебе не нравится изменение написанного скрипта седом?
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
ну я же пишу скрипт, все-таки...
заложу в него знание (см. 3-й вариант - он, м.б. самый лучший, только возни много, т.к. у меня свои параметры есть: конфликты всякие и т.п.)
заложу в него знание (см. 3-й вариант - он, м.б. самый лучший, только возни много, т.к. у меня свои параметры есть: конфликты всякие и т.п.)
man sed
Кому руки дадены?
---
...Я работаю антинаучным аферистом...
Кому руки дадены?
---
...Я работаю антинаучным аферистом...
человек, вообще по жизни тварь ленивая 

Для ленивых есть ``sed''.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
и man по нему ленивым читать влом 
от того такие вопросы...

от того такие вопросы...
я еще не на ты с ним (с седом но как я понял, ты предлагаешь в конце каждой строки поставить ' | tee log'
если так, то это не то
если так, то это не то
Тебе что больше лень, набивать сотню раз ``|tee log'' или написать один раз вызов ``sed''?
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
А значёчек поставить там, где надо будет вставлять ``tee'', догадаться сложно?
Сколько раз ты используешь, например, ``@'' или ``#''?
А ``@#''?
---
...Я работаю антинаучным аферистом...
Сколько раз ты используешь, например, ``@'' или ``#''?
А ``@#''?
---
...Я работаю антинаучным аферистом...
если б я хотел править в лоб - правил бы даже вручную!
я научиться большему хочу, пока пишу скрипт, многое понять...
если б так уж ленился - не читал бы маны по перенаправлению
я научиться большему хочу, пока пишу скрипт, многое понять...
если б так уж ленился - не читал бы маны по перенаправлению
почитай лучше по IPC что-нибудь и проо устройство системы, так быстрее поймешь...
@ и # я часто использую, правда не в конце строки
'@#' не использую, но тогда уж проще под иксами через буфер повставлять
'@#' не использую, но тогда уж проще под иксами через буфер повставлять

Пусть лучше про ``sed'' и ``awk'' прочитает.
Очень нужные в деле вещи.
---
...Я работаю антинаучным аферистом...
Очень нужные в деле вещи.
---
...Я работаю антинаучным аферистом...
Ну придумай себе сокращение, в чём дело-то!
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
да, нужные
я читаю про них по мере необходимости
sed мне когда-то очень помог!
я читаю про них по мере необходимости
sed мне когда-то очень помог!
перл заменит и то и другое, правда не так удобно...
пусть лучше с азов начать, а-то "перенаправление" - это в басше так названо,
а в системе - IPC(сокеты, семафоры,сигналы, разд.память) вроде так...
пусть лучше с азов начать, а-то "перенаправление" - это в басше так названо,
а в системе - IPC(сокеты, семафоры,сигналы, разд.память) вроде так...
Большая часть делается просто на трубах.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
так нафига тогда сед? какая разница для буфера - вставлять большую строку или маленькую?
Да, а перл --- отстой.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
вполне, еще на сокетах - если процессы не одной ветки....
Буфер может и для другого понадобиться.
Можно, конечно, макрос написать.
---
...Я работаю антинаучным аферистом...
Можно, конечно, макрос написать.
---
...Я работаю антинаучным аферистом...
Если б можно было сказать: "А теперь, всё пишущееся в stdout, пишем ещё и в log," --- отменив потом такое извращение, было бы здорово.Для этого придется переписать скрипт на perl

Каким образом?
Как это что-то изменит?
---
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
Как это что-то изменит?
---
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
В cookbook описан пример фильтрования STDOUT. Вкратце механизм заключается в том, что forkается ребёнок, вставляется в конвейер и затем фильтрует STDOUT. Удобный приём.
То есть всё время кто-то висит, перехватывая stdout и записывая его, куда надо?
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
Тебе в ru.os.cmp.
Да, типа того. Я cookbook на работе оставил, сейчас не могу заглянуть.
imho, первый наименнее кривой. Запускается один раз tee. Если ты будешь из скрипта tee запускать, то ты его запустишь намного больше раз. На нагруженной машине это будет тормозить.
СПАСИБО, НЕ НАДО!
Чур меня, чур!
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
Чур меня, чур!
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
Помню в LOR был длиннющий тред про программу
Один из комментариев был следующий: "Это еще раз доказывает, что perl - отстой".
cat "test... test... test..." | perl -e '$?s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'.
Один из комментариев был следующий: "Это еще раз доказывает, что perl - отстой".
На самом деле, алгоритмы - отстой
Как и всё остальное
Как и всё остальное
Кроме microsoft vacuum cleaner.
Может быть проще в начале скрипта сделать функцию my_echo и не париться?
Оставить комментарий
a10063
можно ли организовать?начитался man & info, но там, вроде как, написано что редиректить можно только в один файл
а задача у меня вот в чем: написал башскрипт, который делает кучу эх, а теперь хочу, чтоб он все то, что выводил, еще и в лог заносил!
я придумал три варианта:
1) запускать так: ./script | tee log
2) поcле каждого эха: | tee log
3) запускать самого себя как в первом пункте с доп. параметром
варианты расположены в порядке наибольшего предпочтения
напишите, если знаете, про потоки в стиле tee или посоветуйте альтернативное решение (главное - чтоб править мало было и было некриво)