2012-11-16 3 views
-1

Perl을 사용하여 일부 텍스트를 변경하고 싶습니다. 나는 문자열 "#blah bla blah"를 찾고 싶다 - 주석 처리를 해제하고이 문자열 다음에 문자열 "abh hhhh", "dddd ccccc"를 추가했다./m,/s, 또는 ..의 도움으로 어떻게 할 수 있습니까? 당신이 가지고있는 텍스트를 가정Perl을 사용하여 텍스트 변경

+3

[perldoc perlretut] (http://perldoc.perl.org/perlretut.html). – marquezc329

답변

3

이 주석을 제거해야하며, 끝으로 $suffix을 추가

my $suffix = 'abс hhhh dddd ccccc'; 
$string =~ s{#(blah bla blah)}{$1 $suffix}g; 

상세 정보 perldoc perlreperldoc perlretut에 있습니다.

0
use strict; use warnings; 

while (<>) { 
    s/^#(blah bla blah)/$1 abс hhhh dddd ccccc/; 
} 
+1

주석 처리가 제거되지 않습니다. – gpojd

+0

그에 따라 편집 됨 –

+0

나는 또한 'if'가 필요 없다고 생각합니다. 내가 놓친 게 있니? – gpojd

0

변수 $text에 있습니다

$text =~ s/(#blah bla blah)/$1 abс hhhh dddd ccccc/g; 
+1

그건 주석 처리되지 않습니다. – gpojd

+0

그것이 OP가 원하는 것입니까? 나는 그가 찾고있는 문자열이 실제 텍스트에 주석을 달지 않았지만 구문 때문에 명확하지 않다는 것을 이해했다. – DarkAjax

+0

아마도 내가 틀렸다; 그것은 분명하지 않습니다. – gpojd

0
perl -pi -e 's/^#blah bla blah/blah bla blah abс hhhh dddd ccccc/g' your_file 
관련 문제