C언어 필요한 문자열만 출력

lkd1212의 이미지

제가 /var/log/messages에서
제가 원하는 문자열만 검색해서
텍스트문서에 저장하려고 하는데
잘안되네여...전체 저장은 되는데
원한는걸 뽑아 내질 못하겟어요
ㅜ.ㅜ

fox9의 이미지

원하는 문자열이라고 하셨는데 딱 그 문자만 저장하신다는 건 아니겠지요?

grep 원하는문자열 /var/log/message > 저장하고자하는파일명

hie의 이미지

fox9 님께서 말씀하신 방법 외에 상기 파일은 syslog가
작성하는 파일이니 - 절대적은 아닙니다. 일반적인
것입니다. - syslog 를 수정하는 방법도 권해드립니다.

lkd1212의 이미지

C언어로 짜는거 인데....
tcp라는 문자가 들어간 문자열을
추출해 저장하는 이런거요....

fox9의 이미지

웬지 학교숙제인듯한 분위기가 :shock:

전체를 읽으실수 있다고 하시니 위에서 말한 grep 처럼 구현하시려면 fgets나 gets 등으로 한줄씩 읽어서 문자열 검색함수(strstr)등을 이용해서 문자열이 찾아지면 그 줄만 출력하면 되겠네요.

익명 사용자의 이미지

fox9 wrote:
원하는 문자열이라고 하셨는데 딱 그 문자만 저장하신다는 건 아니겠지요?

grep 원하는문자열 /var/log/message > 저장하고자하는파일명

+ system()

sunyzero의 이미지

regcomp, regexec, regerror, regfree 로 구현하시면 깔끔하죠.

========================================
* The truth will set you free.

lkd1212의 이미지

fox9님 감사합니다 strstr을 이용하여
해결하였습니다^^