LINUX.ORG.RU

tail и iconv не дружат


1

0

работает: cat файл | iconv -futf8 -tkoi8r

работает: tail -f файл

не работает: tail -f файл | iconv -futf8 -tkoi8r

оно изображает что tail'ит файл, но не выводит ни строчки. ЧЯДНТ?


Ответ на: комментарий от Bad_Habit

В общем как сделать чтобы файл tail'ился в другой кодировке?

tx
() автор топика

strace показал, что iconv читает, но не пишет, а пишет он по EOF (если tail прибить). А вот как сделать - идей нет пока.

vga ★★
()
Ответ на: комментарий от vga

P.P.S. Вот так.

tail -f /var/log/apache2/access.log | while read line; do echo $line | iconv -futf8 -tkoi8r; done

vga ★★
()

Пока прочитал, на рубях сделал аналогично:

until STDIN.eof?
        print STDIN.gets
end
tx
() автор топика
Ответ на: комментарий от K-Vrat

> может вот так watch «tail файл | iconv -futf8 -tkoi8r»? если уж так нужно в реальном времени tail смотреть

И постоянно как обезьяна вверх-Enter-вверх-Enter-вверх...? :)

tx
() автор топика
Ответ на: комментарий от NightSpamer

C watch то что должно iconv'иться просто удаляется.

tx
() автор топика

Это из-за буферизации вывода внутри iconv.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.