2017-03-11 9 views
0

후 편집하지만 > file을 퍼팅 시도 파일한 줄의 스크립트는 여기 예를 얻은 패턴

perl -lne 'print $_;print "This is Middle" if(/Beginning/);' file 

에 출력/인쇄를 쓸 것이다하지만 그것을 모든 빈을 덮어 발생합니다.

+0

''파일 '을 사용해 보셨습니까? – TmTron

+0

감사합니다. 아니요. 왜냐하면 전체 파일을 해당 스크립트의 출력으로 덮어 쓰길 원하기 때문입니다. ">> file"이 추가됩니다. – carlregencia

+0

'perl -lpi.bak -e '를 출력하십시오. (/ Beginning /); "This is Middle" 파일 '. 원래의'file'의 백업 파일'file.bak'을 생성 한 후'file'을 덮어 씁니다. –

답변

0

파일에서 동시에 읽을 수 없습니다.

perl -lne 'print $_;print "This is Middle" if(/Beginning/);' file > file.tmp; \ 
mv -f file.tmp file 

See also을 : 이런 종류의 일을 처리하는 일반적인 방법은 임시 파일을 작성하고 작업 후 원래 교체입니다.

+0

$ perl -lne 'print $ _; 인쇄 "This is Middle"if (/ Beginning /);' 파일> file.tmp; \ mv -f file.tmp 파일> $ cat 파일 이것은 처음입니다 이것은 중간입니다 이것은 끝입니다. 감사합니다. 이 하나의 작품. 참조 주셔서 감사합니다. – carlregencia

+0

충분한 평판이 없기 때문에 아직 투표를 할 수 없습니다. – carlregencia