2011-09-25 4 views
1

, 나는 BBBB펄에서 원치 않는 줄을 제거한 후 빈 줄을 제거하는 방법은 무엇입니까? 예를 들어

나는 이러한 목표를 달성하기 위해 다음과 같은 펄 정규 표현식을 사용
aaaa 
bbbb 
cccc 
dddd 

원치 않는 줄을 제거하고 싶습니다.

$_ =~ s/bbbb//g; 

문제는 여기에 빈 줄이 예

내가 원하지 않는 텍스트 라인 또한 빈 줄을 제거해야
aaaa 

cccc 
dddd 

를 들어, 숙박 것입니다.

+0

당신은'$ _'의 전체 데이터가 있거나 어떻게 든 루프 및 인쇄되어 있습니까? – Mat

+0

줄 단위로, 나는 $ _에 전체 데이터를 가지고 있지 않다. 줄 단위로 –

+0

줄을 써야만 왜 빈 줄을 인쇄하지 않을까? 내가 놓친 게 있니? – Mat

답변

4

당신은 단순히 정규 표현식에서 줄 바꿈을 포함 할 수있다 :

$_ =~ s/bbbb\n//g; 

이 발생합니다 :

aaaa 
cccc 
dddd 
+0

완벽 하 고, 감사 Larsks –

+0

사실, 그것은 잘 작동했습니다. 게시하기 전에 테스트했습니다. 동일하게하십시오. 'perl -p -e 's/bbbb \ n // g' larsks

+0

@larsks, 실제로 작동합니다. 나는 넌센스를 제거하기 위해 나의 대답을 편집했다. 내 댓글을 삭제했습니다. – Lucas

1

그것은 나에게 보인다는 선으로이 라인을 읽고 있다면 당신은 할 수 루프는이 작업을 수행 한 :

my @foo = (
    "aaaa\n", 
    "bbbb\n", 
    "cccc\n", 
    "dddd\n"); 

foreach my $line (@foo) { 
    next if ($line =~ /^bbbb$/); 

    # now do something with a valid line; 
} 
관련 문제