multilne 에서 특정 regular expression을 써서 특수하게 쓰는 경우만 찾는 경우입니다.
grep이나 sed 가 multiline이 검색할 수 있는지 확인해보니.. 기본적으로 단순히 readline을 기준으로 한 것이라 멀티라인과 같은 경우는 하이레벨 렝귀지를 써야 합니다. 흘..
아래와 같은 것을 찾으려 하면, a태그 안에 주석문이 있는지 체크하려는 것을 보려면, 일반적으로 grep –i를 때려주면 편합니다만. Side effect 가 있기도 하지요.
<a>
/***
*
*/
</a>
너무 파일이 겁나게 많으면 별로 큰 소용이 없기도 합니다..
혹시 검색이 필요하시면 이걸 쓰세요. ^^
Grep1.pl
|
#!/usr/bin/perl use strict; my $filename = shift; open (FILE, "<", $filename) or die "Failed to read file $filename : $! \n"; my $whole_file; { local $/; $whole_file = <FILE>; } close(FILE); while ($whole_file =~ m#\<c:if\>(.*?)\<\!--(.*?)--\>(.*?)\<c:when>(.*?)\</c:when>(.*?)\<\/c:if\>#sg) { print $1 . $2. $3. $4. $5. $6. $7."\n"; } |
a.txt
|
a a a a a <a>aa </a> <c:if> 1 <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --> <c:when> 2 </c:when> 3 </c:if> 4 |
b.txt
|
a a a a a <a>aa </a> <c:if> 1 <c:when> 2 </c:when> 3 </c:if> 4 |
'etc tools' 카테고리의 다른 글
| Ant 조건에 따라 실행하기 (0) | 2009.07.29 |
|---|---|
| 라이브온에어 (0) | 2009.04.07 |
| 여러 줄에서 특정 정규 패턴 찾아내기 (1) | 2009.03.09 |
| ACK 의 위력 (faster than grep) (0) | 2009.03.04 |
| 7zip과 bzip2의 비교 (0) | 2009.03.02 |
| 디렉토리 비교, 3개의 파일 비교 가능 툴 (0) | 2009.02.20 |



댓글을 달아 주세요
멀티라인에서 왜 안되나 찾아보니 이런 이유였군요!
감사합니다 ^^