
새 데이터가 들어올 때(파일에 새 줄이 추가됨) 소리를 내거나 tail -F
경고음을 울리는 방법이 있습니까(터미널에서 벨 누르기) ? less
아니면 Linux나 Mac에서 이 작업을 수행할 수 있는 다른 UNIX 유틸리티가 있습니까?
답변1
한 가지 아이디어는 출력을 파이프 tail
로 연결 sed
하고 줄 바꿈을 벨/줄 바꿈으로 바꾸는 것입니다.
tail
그러나 범위 내에서 사용하는 경우 더 간단한 해결책이 있을 수 있습니다.X-윈도우. 창 내용이 변경되면(깜박임, 벨소리 등) 작업을 수행할 수 있습니다.
답변2
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
답변3
당신이 사용할 수있는다중 꼬리. 이것은향상된tail은 정규식 일치를 통해 명령 실행을 지원합니다.
예를 들어, 다음 명령은 매번 사운드를 재생하고 xmessage 창을 엽니다.화성 기원패킷이 기록되었습니다.
multitail -ex "martian source" "play beep.wav; xmessage " -i /var/log/messages
답변4
이 페이지를 찾는 다른 분들을 위해 저는 tcsh를 사용하고 있는데 이것이 작동하는 것 같습니다:
tail -f changingfile | sed -e 's/.*/& \a/'
sed 구문이 무엇을 의미하는지 묻지 마세요...