Intereting Posts
Как создать учетную запись привязки LDAP в Centos / RedHat, которая позволяет мне искать по ldapbind@server.com Как я могу заставить grep работать с «->» как шаблон? Сопоставление двух джойстиков с Xorg Как создать пользовательский debian liveCD (настроить, какие пакеты предустановлены)? какие порты необходимо открыть на брандмауэре? Два компилятора одной и той же версии ядра: одна загружается, одна не может найти корневое устройство Возможно ли разработка Android на компьютере MIPS? Где используется @ перед строкой даты за секунды с момента задокументированной эпохи? grep, похоже, игнорирует – include init: /etc/init.conf: Не удается загрузить конфигурацию: нет такого файла или каталога Доступ к консоли Ubuntu 16.04 KVM Гость Проверка Ghostscript + QPDF и PDF / A-1b: как добавить разделитель EOL до конца Почему у RTC-устройства есть 254,0 вместо 10,135 в качестве Major, Minor numbers? Настройка Samba для использования сервера AD для аутентификации? Как проверить отсутствие поддержки установленных пакетов в Arch Linux?

Есть ли способ сделать хвостик -F?

Есть ли способ сделать tail -F или less beep (звонок на звонок в терминале), когда появляются новые данные (в файл добавляется новая строка). Или есть ли другая утилита unix для этого в Linux или Mac.

Идея migth заключается в том, чтобы пропустить вывод tail через sed и заменить новую строку колокольчиком / новой линией.

Но есть облегченное решение, если вы используете tail в x-окне . Там вы можете выполнить действие, когда изменяется содержимое окна (мерцание, звонок, что угодно).

если вы используете screen GNU, вы можете настроить его на «просмотр» окна с помощью хвоста, и он предупредит вас в строке состояния или в определенном вами колоде termcap, что в этом окне есть новый вывод.

http://www.gnu.org/software/screen/manual/html%5Fnode/Monitor.html#Monitor


edit: просто нужно было добавить это, так как вы упомянули mac os x

просто для удовольствия, если вы ищете что-то в частности, вы можете использовать команду 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 

Вы можете использовать multitail . Это расширенный хвост, который поддерживает выполнение команд при регулярном совпадении выражений.

Например, следующая команда воспроизводит звук и открывает окно xmessage каждый раз, когда регистрируется марсианский исходный пакет.

 multitail -ex "martian source" "play beep.wav; xmessage " -i /var/log/messages 

Только для записи, поскольку @Nils предложил использовать sed для добавления bell в каждую строку.

Седная линия, предоставленная @ Gilles

 sed -e $'s/$/\a/' 

работает на моем mac (я включил «звуковой звонок» и «визуальный звонок» в моем Terminal \ preferences \ advanced).

Вы можете попробовать konsole которая позволяет предупреждать о новой активности (или тишине) на любой вкладке.

Для всех, кто находит эту страницу, я использую tcsh, и это, похоже, работает:

 tail -f changingfile | sed -e 's/.*/& \a/' 

Не спрашивайте меня, что означает синтаксис sed …