리눅스에서 특정탐지 문자열 확인이후 아래내용 전체출력 방법..ㅜㅜ
글쓴이: guerrillalds / 작성시간: 금, 2008/12/12 - 6:20오후
예를 들어 아래 내용대로 입력한다면
cat /var/adm/messages |grep "^`date|cut -c5`"
당일 로그를 볼수 있었습니다. 그런데 당일말고
몇일 전부터 보고 싶어서 ^`env TZ=GMT+5 date 사용해서
이전 날짜 조회는 가능한데 그날만 검색이 됩니다.
해당 날짜부터 끝까지 전체 출력하는방법은 없을까요?
Forums:
도배 ㄴㄴ grep 에 -A
도배 ㄴㄴ
grep 에 -A 옵션이 있기는 하지만 ... 좀 크게 보셔야 할 것 같습니다.
/var/log/messages 는 logrotate 에 의해 기간이나 크기 단위로 계속 잘릴 수 있습니다.
fedora 에선 일주일 단위로 잘라서 한달치를 압축없이 백업하도록 되어 있습니다.
단순한 방식으론 저번주 토요일의 메시지를 볼 수 없습니다.
재수 없으면 백업하는 날의 메시지 일부도 잘려서 백업본으로 들어가버립니다.
OTL
죄송.
죄송합니다. 글이 안올라가는줄 알고 몇 번 클릭했는데 중복이 됐네요.
더 좋은 방법이 있을
더 좋은 방법이 있을 것 같은데,
일단 sed를 활용하면 다음과 같은 방식으로 처리할 수 있겠네요.
$ sed '1,/sio4/s/\(sio4.*\)/XXX\n\1/' /etc/passwd|sed '1,/^XXX$/d'
첫 번째 sed 명령에게는 범위를 첫 번째 나타나는 패턴으로 한정하여 그 패턴을 낀 줄 앞에 다음에 사용하기 위한 패턴을 넣어주고요, 두 번째 sed는 스트림의 시작부터 앞서 삽입한 패턴까지를 구간으로 하여 지워주고 남은 내용을 화면에 뿌려주는 역할을 합니다. 이 명령을 실행하면 sio4 계정보다 늦게 만들어진 계정을 모두 볼 수 있습니다.
--
"The love you take is equal to the love you make." The End, by Beatles
--
"The love you take is equal to the love you make." The End, by Beatles
댓글 달기