tail -f이지만 파일의 내용을 먼저 빨아들입니다 (일명`cat -f`)


9

마지막 10 줄뿐만 아니라 새로운 변경 사항을 추적하기 전에 전체 파일을 표시해야합니다 ( 개념적으로 꼬리 가 아님 ). 다시 말해서, cat -f그것이 존재한다면 , 무엇과 같은 것이 될 것입니다. 테일의 남자는 나에게 어떤 아이디어도주지 않습니다. 내가 지금보고있는 유일한 옵션은 어떻게 든 마지막 10 줄꼬리 -f 출력을 제외한 모든 고양이를 결합하는 것 입니다.

힌트가 있습니까?


3
cat $f && tail -n0 -f $f마음에 tail -c0 -f $f들고 매뉴얼 페이지를 확인 하면 원하는 것을 할 수도 있습니다 (쓰기 된 데이터를 무시할 수있는 두 프로세스간에 경쟁 조건을 만들지 않기 때문에 더 좋습니다). 현재 Linux 시스템에 액세스 할 수 없지만 원하는 것을 수행합니까?
CVn

이것은 유용하며 프로그래밍 언어에 이러한 기능을 추가했습니다. beginnnig에서 end까지 파일을 정상적으로 읽은 다음 끝에 "tail -f"모드로 들어가는 "tail stream" 파일이 더 짧은 파일로 바뀌거나 잘린 후 따라갑니다. 기존 로그 처리 (백 로그로 잡기)와 같은 작업을 수행 한 다음 새 항목 처리를 시작하려면이 작업이 필요합니다.
Kaz

답변:


14

이를 수행하는 한 가지 방법이 있습니다.

tail -f -n+0 /var/log/messages

a +0와 a 사이에 차이가없는 것 +1같으므로 다음과 같습니다.

tail -f -n+1 /var/log/messages

2
매뉴얼 페이지의 관련 부분 (사람들이 타이핑을하지 않아도 됨) ... -n, --lines = K 마지막 10 줄 대신 마지막 K 줄을 출력합니다. 또는 -n + K를 사용하여 Kth로 시작하는 행을 출력합니다.
demented hedgehog
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.