리눅스 명령어 관련 질문 있어요 ^_^
글쓴이: gdhome / 작성시간: 화, 2010/01/12 - 9:28오후
이 포럼에 올리는게 맞는지 잘 모르겠네요 :) 처음이라..
다름이 아니라 로그를 빼려고
ssh xxx.xxx.xxx.xxx "tail -f /usr/local/apache-tomcat-6.0.20/logs/catalina.out" | grep "STRING" >> a.out
같이 하였는데요 쌓이지가 않아서요
ssh xxx.xxx.xxx.xxx "tail -f /usr/local/apache-tomcat-6.0.20/logs/catalina.out" >> a.out
으로 하면 잘 빠지는데 말이죵;
리눅스를 많이 안해봐서 아직 파이프 개념이 없어서 그런지..
왜 안돼는지 원리좀 가르쳐 주실수 있나요 ^_^
Forums:
tail 에 -f 옵션을
tail 에 -f 옵션을 쓴것으로 보아..연속적으로 뽑아 보기 위함인가요?
아니면 -f 빼고 해 보시죠?
실제로 -f 를 쓰면 ssh 명령이 종료가 되지 않지요. 계속입력을 기다리는 형태가
되니까요......
grep 문에서 따옴표를
grep 문에서 따옴표를 제거 해보면요?
STRING이라는 문자열만 빼서 a.out에 추가하시려고 하는것 같은데 만약에 그런거라면
STRING 앞뒤에 있는 따옴표를 제거해보심도 좋을듯...
생각해보니 따옴표랑은 상관이 없겠군요.. 음 ㅡㅡ;;; 지송
--- 나는요? ---
리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.
--- 나는요? ---
리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.
음...ssh xxx.xxx.xxx.xxx
음...ssh xxx.xxx.xxx.xxx "tail -f /usr/local/apache-tomcat-6.0.20/logs/catalina.out" | grep "STRING"
자체가 표준 출력을 계속하는데 그걸 >> 로 빼내지 못하는 이유가 뭘까요 ㅠ
실은 저 로그에서 특정 형식 으로 출력을 포맷해서 뽑으려는건데요
해보니 진짜 안되는
해보니 진짜 안되는 군요...
구굴신께...쫌 구걸해 봤습니다.
http://www.linuxquestions.org/questions/linux-newbie-8/trying-to-understand-pipes-cant-pipe-output-from-tail-f-to-grep-then-grep-again-646932/
arungoodboy 아이디의 쓴 글을 인용하면...
라는 군요... 영어는 안돼지만 grep 이 즉시로 증분되어 들어오는 걸 출력으로 안 내어 준다?
모..대충 그런것 같네요...
결론..
ssh xxx.xxx.xxx.xxx "tail -f /usr/local/apache-tomcat-6.0.20/logs/catalina.out" | grep "STRING" >> a.out 는
ssh xxx.xxx.xxx.xxx "tail -f /usr/local/apache-tomcat-6.0.20/logs/catalina.out" | grep --line-buffered "STRING" >> a.out 로 하라...
테스트 해보니 잘 되네요..ㅎㅎ
댓글 달기