'multilinegrepsedregularexpression'에 해당되는 글 1건

  1. 2009.03.09 여러 줄에서 특정 정규 패턴 찾아내기 (1)

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

 

Posted by 김용환 '김용환'