tac
명령으로 표시 할 줄 수를 5로 제한하고이 결과를 새 파일에 저장하고 싶습니다. 이 명령은 위의 내 명령 창에서 잘 작동Python :이 깨진 파이프 오류를 어떻게 수정합니까?
tac /home/pi/log/log.txt | head -n 5
... 내가 파이썬 파일을 통해 호출하고 난 tac: write error: Broken pipe
오류가 새 파일에 저장하려고하지만 ...
그 코드가 같은 모습입니다 : 그런데
while True:
db_file = open("/home/pi/log/heartbeat.txt", 'a')
db_file.write('#################\n')
db_file.write('LAST LOGs\n')
db_file.write('#################\n')
db_file.close()
statement = 'tac /home/pi/log/log.txt | head -n 5 '
result = check_output(statement, shell=True)
db_file = open("/home/pi/log/heartbeat.txt", 'a')
db_file.write(result)
db_file.close()
sleep(1)
, 내가 명령 watch
초마다 사용하고하면 새로운 콘텐츠를 계속 확인합니다.
어떻게 해결할 수 있습니까? "| 전술 꼬리 -N5 /home/pi/log/log.txt"
감사합니다,
문제점을 재현 할 수 없습니다. 어떤 OS를 사용하고 있습니까? – Evert
'tac'을 실행하기 전에 먼저 파일을 닫은 다음 나중에 추가하기 위해 다시 열어 두는 것이 좋습니다. – Evert
안녕하세요. 나는 당신의 의견에 따라 몇 가지 변화를했습니다. 테스트 용으로 ubuntu14.04를 사용하고 있지만 내 목표는 Raspbian에서 실행하는 것입니다. 당신이 제안한 변경을 한 후에 나는 오류가 훨씬 줄어들지 만, 새로운 하나의 'tac : write error'(깨진 파이프없이)를 얻고있다. 고맙습니다! –