쉘 스크립트 파일내용 지우기
글쓴이: zoenea / 작성시간: 토, 2017/09/30 - 2:35오후
쉘스크립트에서 tail -n 20 filename 하면 밑에서 20번째 줄까지만 출력하는건 잘 알고 있습니다.
그러면 이 20줄을 제외한 윗부분 내용을 삭제하고 다시 저장하고 싶은데 어떻게 하는게 좋을까요
원본 파일은 프로그램을 실행하면서 계속 로그를 받아오는 상황입니다. 그래서 쌓이는 로그양을 줄이고자 파일을 지우려고 하는데요
제가 생각했던 방법으로는 while문을 이용해서 임의의 파일로 끝의 20줄만 리다이렉션 한 후에 다시 원본 파일로 리다이렉션을 하는 거였는데요 이렇게 하게 되니 문제가 로그값이 만들어지는 속도보다 지우는 속도의 타이밍이 더 빠르게 되면 값을 제대로 받아오지 못하는 현상이 일어나네요.
정확한 값을 유지하면서 최근값(마지막20줄)만 유지할 수 있는 방법이 뭐가 있을까요?
* sleep을 써봤지만 겹치는 구간이 있습니다. 그래서 이 방법도 실패...
Forums:
댓글 달기