Como remover um bloco filho do YML no shell script?

Estou tentando comparar doisyml arquivos e remover um bloco com base em algumas condições usando o shell script. Estou usando issoYML analisador,https://gist.github.com/pkuczynski/8665367 para a comparação deyml arquivos. Mas eu realmente estou lutando muito para remover o bloco deles. Por exemplo,

tool:
  image: tool.xxx.com/platform/app:dev
  log_driver: syslog
  restart: always
  ports:
    - "54325:80"
    - "543325:80"
  volume:
    - "a:b"

tool1:
  image: tool1.xxx.com/platform/app:dev
  log_driver: syslog
  restart: always
  ports:
    - "54325:80"
    - "543325:80"
  volume:
    - "a:b"

Como remover o bloco de portas emtool e que tornará a produção semelhante a,

tool:
  image: tool.xxx.com/platform/app:dev
  log_driver: syslog
  restart: always
  volume:
    - "a:b"

tool1:
  image: tool1.xxx.com/platform/app:dev
  log_driver: syslog
  restart: always
  ports:
    - "54325:80"
    - "543325:80"
  volume:
    - "a:b"

Eu tentei algumas coisas usando awk e sed, mas não sei exatamente porque ele contém alguma condição complexa envolvendo várias linhas.

Qualquer ajuda ou sugestão sobre isso seria muito útil e muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion