2014-03-25 3 views
0

나는 Perl 언어의 초보자이며 위의 문제에 직면하여 도움을 요청하고 싶습니다. 모든 도움에 감사드립니다. 배는 출력 후 다음 출력에 포도를 추가하고 싶습니다 때마다기존 파일에 문자열을 추가하는 방법은 무엇입니까?

Apple 
Pear 
Grape 
Apple 
Pear 
Grape 

:

을 감안할 때 초기 파일 내용은 :

Apple 
Pear 
Apple 
Pear 

의 출력을 가지고 싶습니다. ;

+1

작성한 코드를 알려주십시오. – Pradeep

답변

1

이 mpapec의 솔루션보다 4 자 짧은입니다 만 있기 때문에 당신이 정말로 배우고 싶은 경우에)

perl -pe 's/Pear\K/\nGrape/' file1.txt 

, 읽기 시도 : 도움을 제공하기위한 How do I change, delete, or insert a line in a file, or append to the beginning of a file?

+0

+1 나를 때리는 것에 대해 :) –

+0

ty, 내 것이 라인의 중간에서 깨질 것이기 때문에 그것이 가치가 있는지 확신 할 수 없다. 그러나,'s/Pear. * \ K/\ nGrape /'에 대한 수정은 여전히 ​​전체 2 문자로 승리합니다. ;) – Miller

3
perl -pe '$_ .= "Grape\n" if /Pear/' file 
1

감사들, 내가 그것을 시도 나와 어떻게 든 그것을 해결할 수 있습니다 : 내 파일이 test1에 있다고 가정 해 봅시다.

open(DATA,"<test1") or die "No test1 file"; 
while($data = <DATA>){ 
    if($data =~ /Pear/){ 
     $data = $data . "Grape\n"; 
    } 
    print "$data"; 
} 
관련 문제