Відповіді:
Мігією ідеї є трубопровід tail
наскрізний sed
і замінити нову лінію на дзвінок / новий рядок.
Але, можливо, є простіше рішення, якщо ви використовуєте tail
всередині x-вікна . Там ваш може виконати дію, коли зміст вікна змінюється (мерехтіння, дзвінок, що завгодно).
sed
ідея геніальна, але я не знаю достатньо 'sed', щоб вона працювала, схоже, я не можу зафіксувати нові рядки в regexpt звичайним способом (до чого я звик), я думаю, мені потрібно сказати sed не інтерпретувати вхідний потік рядок за рядком.
sed -e $'s/$/\a/'
додає $'\a'
(символ дзвінка в синтаксис ksh / bash / zsh) в кінці кожного рядка.
sed
regexpt трохи дивний для моїх наївних очей.
$'...'
синтаксис не є універсальним. Наприклад, [t] csh не підтримує його.
якщо ви використовуєте GNU screen
, ви можете встановити його на "перегляд" вікна хвостиком, і він сповістить вас у вашому рядку стану або у визначеному дзвонику термінальної капи про те, що в цьому вікні є новий вихід.
http://www.gnu.org/software/screen/manual/html%5Fnode/Monitor.html#Monitor
редагувати: просто довелося це додати, оскільки ви згадали mac os x
просто для розваги, якщо ви шукали щось конкретно, ви можете скористатися say
командою Mac OS X, щоб прочитати вам файл, який ви переглядаєте. просто отримайте logtail
команду від:
http://www.hmug.org/pub/MacOS_X/BSD/Administration/Log/logcheck/
І використовувати його в сценарії, як:
#!/bin/bash
file=$1
offset=$(basename "$1")
# while true... let this thing run until it's killed...
while true; do
output=$(/usr/local/bin/logtail $file .${offset}.offset)
if [ ! -z "$output" ]; then
# print the output and say ding
echo "$output" && say ding
# to have the file read aloud to you, uncomment the following:
say "$output"
fi
# recheck every 5 seconds
sleep 5
done
screen
показує та попереджає (я думаю, я можу змусити його також дзвонити в дзвін) ТОЛЬКО ВСЕ . Не для кожної нової події, що трапляється (не для кожного нового рядка, який доступний)
beep
замість команди використовуючи команду say
.
exec
команду екрана . Приклад на сторінці, !:sed -n s/.*Error.*/\007/p
що надсилатиме дзвінок щоразу, коли у цьому вікні відображатиметься повідомлення "Помилка".
Ви можете скористатися багатоповерхівкою . Це вдосконалений хвіст, який підтримує виконання команд у регулярному збігу виразів.
Наприклад, наступна команда відтворює звук і відкриває вікно передачі повідомлень щоразу, коли реєструється марсіанський вихідний пакет.
multitail -ex "martian source" "play beep.wav; xmessage " -i /var/log/messages
Тільки для запису, як @Nils запропонував я використовувати sed
для додавання bell
до кожного рядка.
sed
Лінії забезпечується @Gilles
sed -e $'s/$/\a/'
працює на моєму комп'ютері (я ввімкнув "звуковий дзвінок" і "візуальний дзвоник" у своєму терміналі \ налаштування \ розширений).
$'...'
послідовності втечі - це лише баш.
Для всіх, хто знайде цю сторінку, я використовую tcsh, і це, здається, працює:
tail -f changingfile | sed -e 's/.*/& \a/'
Не питайте мене, що означає синтаксис sed ...
Ви можете спробувати, konsole
що дозволяє отримувати сповіщення про нову активність (або мовчати) на будь-якій вкладці.
konsole
було б так, як screen
це попереджає один раз, тоді як мені потрібно отримувати сповіщення про кожен новий рядок.