최대 8k 바이트의 메시지를 수신하는 로그 파일이 있습니다. 나는 그 메시지를 더 작게하고 싶다. 나는 현재 로그 파일을 tail -c +1 -F
으로 꼬리를 달리고 있지만 이것은 전체적으로 8k 크기의 메시지를 포착합니다. tail -c 2048 -F
과 같은 것을하고 싶지만 msgs에서 텍스트와 텍스트를 잃고 싶지는 않습니다. tail -c 1024 -F
은 msg가 1024 바이트 이상인 경우 msg의 일부를 잃게됩니까?꼬리 '-c'매개 변수는 줄의 지정된 바이트 수만 반환합니까? 또는 전체 행을 -c 바이트 덩어리로 반환합니까?
추가 정보 : 파이썬에서 tail 명령을 호출하고 메시지가 너무 큰 경우 필터링에 정규식 필터링이 지연됩니다.
for line in sh.tail("-c", "4096", "-F", path, _iter=True):
# Doing some regex filtering here
어떤 개체에'꼬리'방법이 있습니까? – chepner
코드 *에서 볼 수있는 것부터 "파이썬에서 꼬리 명령을 호출"하지 않고 일부 매개 변수를'sh' 객체의'tail' 메소드에 전달합니다. –
'sh'는 일부 시스템 프로그램을 호출 할 수있는 패키지입니다. 다음은 문서입니다. http://amoffat.github.io/sh/# – steve