2014-01-06 4 views
0

로그 파일을 tail -f으로 파이프하려고하지만 마지막 행만 파이프하려고합니다. 내 명령은 내가 grep --line-buffered를 사용할 수 있지만 내 새로운 라인은 어떤 문자를 가질 수 없습니다 내가 시도 무엇으로 작동하지 않는 것을보고tail -f pipe 단일 행일뿐만 아니라

tail -f logfile.log | while read line; do /usr/bin/gammu --sendsms TEXT ****** -text "$line"; done

입니다.

+0

'tail -1f logfile.log'? – Ryan

+0

@minitech 귀하의 도움에 감사드립니다. 그러나 그것은 효과가 없습니다. 'user @ machine : ~ # tail -1f log.log | 동안 읽기 라인; echo "$ line"; 은'라인 1' '선 2' '선 3' – Mio

+0

꼬리가 불평 truncated' 파일 : /var/log/apache2/access.log : 를 done''라인 2' #I 로그 파일을 '꼬리를 업데이트 ('cat/dev/null>/file'), 파일을 지우고 새로운 파일 ('rm file; touch file')을 만들거나 파일을 덮어 쓸 때''cp file2 file' '). – alvits

답변

0

오류는 우리에게 보여주지 않는 문제가 다른 장소에 있음을 보여줍니다. 아래의 테스트 코드는 저에게 좋습니다.

tail -1f logfile.log | while read line 
do 
    echo /usr/bin/gammu --sendsms TEXT ****** -text "$line" 
done 
+0

감사합니다. 여러분의 도움과 @alvits의 도움으로 마침내 작동합니다. 로그 파일에'echo "hello world">> lofgile.log'라고 덧붙입니다. – Mio