1
我試圖比較兩個yml
文件,並使用shell腳本根據某些條件刪除塊。我正在使用此YML
解析器,https://gist.github.com/pkuczynski/8665367用於比較yml
文件。但是我很難從他們身上移除這個塊。例如,如何在shell腳本中從YML中刪除子塊?
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"
如何刪除端口tool
下阻止和這將使得輸出類似,
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"
我試着用AWK出頭和sed,但是我並不確切地知道,因爲它含有一些涉及多條線路的複雜情況。
任何幫助或建議,這將是非常有益的,非常感謝。
嗨,感謝您的回答。如果你對這個作品給出一個小的解釋,那將是很棒的。它也是去除像子塊(比如音量)或主塊(比如tool1)之後的任何東西,或者之後出現的任何東西。 – Stranger
它只刪除以'ports:'開頭的子塊,它位於主工具下:'塊。請參閱編輯答案以獲取解釋 – anubhava
太棒了!謝謝你的精彩回答。 – Stranger