[완료]쉘스크립트 명령어 질문드립니다.
글쓴이: ngh1262 / 작성시간: 월, 2012/08/20 - 12:42오후
안녕하세요 스크립트를 만들다가 문제가 되는 것이 있어서 이렇게 글을 올립니다.
우선 cron으로 항상 데이터를 뽑아오고 뽑아온 데이터를 다시 재 해석하게 하는 스크립트까지 만들어서 시험적으로나마 구동중에 있습니다.
근데 문제는 cron으로 계속 뽑아오는 데이터값이 쌓이면서 그닥 쓸 필요가 없어서 이 자료를 지우려 합니다.
(데이터값이 5분마다 한줄씩 추가 되고있습니다.)
전에있던 데이터값을 삭제 (한마디로 쌓이는 자료의 줄값을 삭제)하는 법을 알고싶습니다.
스크립트에 넣어서 지우는 방법도 있긴하다만 그냥 명령어로 지우는 방법도 있을꺼같아 이렇게 질문을 올립니다
(당연히 vi편집기로 들어가 가만히 d키만 누르고있어도 되지만 계속 쌓이는 자료를 지우려면 이것도 일이네요 ㅠ)
요약
A라는 파일의 1번째줄서부터 N번째줄까지 지우는 명령어나 스크립트를 알고 싶습니다.
간단한 단서라도 주실 수 있다면 찾아보겠습니다.
Forums:
#!/usr/bin/env sh tail -n
명령어로 해보고있는데 자꾸 줄이 전부다
명령어로 해보고있는데 자꾸 줄이 전부다 없어지고있네요...ㅠ
$1 이라는 부분이 파일명인지요??
그리고 mv는 이동하는거나 이름바꾸기에 쓰이는것으로 알고있는데 어떻게 쓰인다는 것인가요???ㅠ
해석좀 부탁드리겠습니다.ㅠㅠ
________
해보니깐 답이 나오게 되었네요 ㅎ
감사합니다 ㅎ
man logrotate
man logrotate
해석입니다..
#!/usr/bin/env sh
tail -n +10 $1 > $1.tmp #$1 파일명 , -n + 10 : 파일데이터의 뒤에서 10번째 까지 데이터만 선택 , > $1.tmp 선택된 데이터로 파일 생성
mv $1.tmp $1 # 생성된 데이터로 원본에 덮어씌우기
# 즉 원본데이터의 마지막에서 시작하여 10번째까지 줄만 남기고 나머지 삭제
댓글 달기