2014-10-31 3 views
2

특정 파일을 여러 파일의 특정 줄에 추가해야합니다. 예를 들어perl을 사용하여 Solaris의 파일에있는 특정 줄에 텍스트를 추가하십시오.

내가 사용하는 것과 같은 방법으로 텍스트를 대체 : 내가 나오지도 사용할 수 없습니다

perl -e "s/trail/rmtrail/g;" -pi /tmp/test/* 

, 내가 Solaris에서 -i 옵션이 없기 때문에. 그러나 내가 나오지도 함께 얻기 위해 노력하고있어 결과는 다음과 같습니다

sed -i '/rmtrail/ s/$/, fromat release 11.2/' /tmp/test/* 

펄이 할 수있는 방법이 있나요?

+0

가능한 중복 및 바꾸기 펄?] (http://stackoverflow.com/questions/933543/how-can-i-append-instead-of-replace-text-during-a-search-and-replace-with-perl) – ThisSuitIsBlackNot

+0

^정확한 정규 표현식은 다르지만 문제와 해결 방법은 동일합니다. – ThisSuitIsBlackNot

+0

작은 따옴표와 큰 따옴표를 사용하여 명령을 시도했습니다. 단지 문자열을 바꾸는 것이지 추가하는 것이 아닙니다. 사용 된 명령은 perl -pi -e "/ s/rmtrail/$ 1, 형식 릴리즈 11.2 /"/ tmp/test/file1입니다. – robertpas

답변

2

는 나오지 명령은 rmtrail 당신이 펄과 유사한 방법으로 그렇게 할 수 포함하는 행에 무언가를 추가하는 것을 의미하는 경우 :

perl -i -pe '/rmtrail/ && s/$/, format release 11.2/' /tmp/test/* 
[어떻게 내가 추가하는 대신 검색 - 중 텍스트를 대체 할 수의
+0

이것은 매우 잘 작동합니다 :) – robertpas