에 일치하지 않는 나는 구성 파일이 있습니다< or >
<virtual-machine-pool mypool>
virtual-machine machine1
</virtual-machine-pool>
<virtual-machine machine1>
host 17.17.52.177 m34.mydomain.com
</virtual-machine>
내 스크립트는 <와> 기호를 무시하는 것 같다.
<virtual-machine-pool mypool>
virtual-machine machine1
</virtual-mta>
<virtual-machine machine-new>
host 1.2.3.4 m40.mydomain.com
include /etc/virtuals/config.backoff
<\virtual-mta>
<virtual-machine machine1>
<virtual-machine machine-new>
host 1.2.3.4 m40.mydomain.com
include /etc/virtuals/config.backoff
<\virtual-machine>
host 17.17.52.177 m34.mydomain.com
</virtual-machine>
원하는 출력은 다음과 같습니다 :
<virtual-machine-pool mypool>
virtual-machine machine1
</virtual-mta>
<virtual-machine machine1>
host 17.17.52.177 m34.mydomain.com
</virtual-machine>
<virtual-machine machine-new>
host 1.2.3.4 m40.mydomain.com
include /etc/virtuals/config.backoff
<\virtual-mta>
내 스크립트가 <을 무시하고> 다음 번 경기를 찾는 것을 날 것으로 보인다
sed -e "/\(\<virtual-machine machine1\>\)/{:a;n;/<\/virtual-machine>/ba;i\\\n\ <virtual-machine machine-new\>\n\ host 1.2.3.4 m40.mydomain.com\n\ include /etc/virtuals/config.backoff\n\ <\\\virtual-machine\>" -e '}' file
나는 출력을 얻을 그것을 두 번 넣는 것.
어떤 조언이나 도움을
감사를 설치 이것은 GNU-나오지 --default-이름으로 OSX에 있습니다.
존
관련 http://stackoverflow.com/questions/26237735/escaping-angled-bracket-acts-similar-to-look-ahead –