[질문]shell 스크립트 필터링
글쓴이: zipsinworm / 작성시간: 월, 2009/03/23 - 2:53오후
shell 스크립트중에 sed문을 써서 필요없는 코멘트를 삭제하려고 하는데요
소스헤더 파일안에
#include <stdio.h> /* 입출력 */ ~~~~~~~~~~~
~~~표시가 된 부분을 스크립트로 지우고 싶은데
shell 스크립트로는 불가능 한가요?
안된다면 C프로램을 만들어야 하나요? ㅠㅠ
Forums:
주석 삭제..
아래 명령으로 하면 지워질거 같네요...
단 주석이 줄바꿈 되지 않고, 뒤에 붙었을 경우에만 제대로 동작 할겁니다.
perl -pi -e 's/\/\*.+\*\///g' <파일>
C style comment (/* ...
C style comment (/* ... */)를 손쉽게 지우는 regular expression을 만들기는 불가능 합니다. (제가 알기로..)
가장 좋은 방법은 c preprocessor를 쓰는 것입니다. cpp를 쓰면, 모든 `#....' 형태의 directive를 다 처리하며, comment를 제거할 수 있습니다. 문제는 `#...' 형태의 directive를 놔 두고, comment만 제거하는 것인데, comp.lang.shell에 올라온 post에 나온 해결책이 있습니다:
테스트해보지 않았지만, 그럭저럭 쓸만할 것 같네요.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
Do not reinvent the wheel !
.
.
.
.
.
Do not reinvent the wheel !
참고: http://search.cpan.org/perldoc?Regexp::Common::comment
댓글 달기