답변:
아이디어 출력은 tail
스루 출력을 파이프 sed
하고 개행을 종 / 개행으로 대체하는 것입니다.
그러나 x-windowtail
내에서 사용하면 더 쉬운 해결책이 있습니다 . 창 내용이 변경 될 때 (깜박임, 벨 등) 작업을 실행할 수 있습니다.
sed
아이디어는 훌륭하지만 제대로 작동하기에 충분한 'sed'를 모르겠습니다. 정상적인 방식으로 정규 표현식에서 줄 바꿈을 캡처 할 수없는 것처럼 보입니다 (sed to use) 들어오는 스트림을 한 줄씩 해석하지 마십시오.
sed -e $'s/$/\a/'
추가합니다 $'\a'
.
sed
regexpt는 순진한 눈에는 조금 이상합니다.
$'...'
구문은 보편적이지 않습니다. 예를 들어 [t] csh는이를 지원하지 않습니다.
GNU를 사용하는 경우 screen
, 꼬리를 사용하여 창을 "감시"하도록 설정할 수 있으며 상태 표시 줄 또는 termcap의 정의 된 종에서 해당 창에 새로운 출력이 있음을 경고합니다.
http://www.gnu.org/software/screen/manual/html%5Fnode/Monitor.html#Monitor
편집 : mac os x를 언급 했으므로 이것을 추가해야했습니다.
재미를 위해, 특히 무언가를 찾고 있다면 Mac OS X의 say
명령을 사용하여보고있는 파일을 읽을 수 있습니다. 다음에서 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
대신 명령을 사용하여 Linux에서 작동하도록 변경할 수 있습니다 say
.
exec
명령을 사용 하여 수행 할 수도 있습니다 . 맨 페이지의 예는 !:sed -n s/.*Error.*/\007/p
해당 창에 "오류"가 표시 될 때마다 종을 보내는 것입니다.
multitail을 사용할 수 있습니다 . 정규식 일치에서 명령 실행을 지원 하는 향상된 테일입니다.
예를 들어 다음 명령은 화성인 소스 패킷이 기록 될 때마다 소리를 재생하고 xmessage 창을 엽니 다 .
multitail -ex "martian source" "play beep.wav; xmessage " -i /var/log/messages
@Nils가 제안한 것처럼 레코드 를 위해 각 줄 sed
에 a bell
를 추가하는 데 사용 하고 있습니다 .
sed
@Gilles 의해 제공된 광고
sed -e $'s/$/\a/'
내 Mac에서 작동합니다 (터미널 \ 환경 설정 \ 고급에서 "가청 벨"및 "시각적 벨"을 활성화했습니다).
$'...'
이스케이프 시퀀스는 Bash 전용 이라는 점에 유의하십시오 .
이 페이지를 찾는 다른 사람을 위해 tcsh를 사용하고 있으며 이것이 작동하는 것 같습니다.
tail -f changingfile | sed -e 's/.*/& \a/'
sed 구문이 무엇을 의미하는지 묻지 마십시오 ...
konsole
주어진 탭에서 새로운 활동에 대한 경고 (또는 침묵)를 시도 할 수 있습니다.
konsole
같은 것 screen
한번 경고 나는 모든 새로운 라인에 대한 경고를받을 필요 동안.