2014-09-30 2 views
-1

나는 bash 스크립트를 작성하고있다. 이 bash 스크립트의 출력은 템플릿 파일에서 생성 한 설정 파일입니다. sed 명령을 사용하여 ###member###을 일치 패턴으로 지정하고 AA을 대체로 사용하고 싶습니다. 그러나 새 대체 파일 BB을 사용하여 새 구성 파일을 만들 때 이전 문자열 AA을 덮어 씁니다. 그 오래된 문자열을 덮어 쓰고 싶지 않습니다. AA; AA 뒤에 BB을 추가하면됩니다.Bash - sed 명령. 이전 문자열을 덮어 쓰지 않으려면 어떻게해야합니까?

예 : 나는 sed 명령을 사용하여이 작업을 달성 할 수 있는지 모르겠어요

members  ###members### 

members  aa, bb, cc, ... 

.

+5

실제 입력 및 예상 출력은 무엇입니까? –

+1

이것을 통과 했습니까? http://stackoverflow.com/questions/5171901/sed-command-find-and-replace-in-file-and-overwrite-file-doesnt-work-it-empties – iqstatic

+0

이미 시도한 바가 있습니까? – NeronLeVelu

답변

0

당신 (GNU이 나오지도)에 대한이 작동하지 않을 수 있습니다 : 다음 ###members###을 포함하는 행에 대한

sed '/###members###/{:a;N;/aa/s//&BB/;Ta}' file 

봐 그 라인 aa을 포함하고 aaBB을 추가 할 때까지로 줄을 다음과 같은 추가합니다.

관련 문제