我是一个新手脚本编写者,但被要求从现有的Linux /etc/hosts文件中创建yaml文件。使用以下hosts文件:
127.0.0.1 localhost
192.168.1.2 host1
192.168.1.3 host2
192.168.1.4 host3
192.168.1.5 host4
...创建类似于以下内容的yaml文件:
host_entries:
host1:
ip: '192.168.1.2'
host2:
ip: '192.168.1.3'
host3:
ip: '192.168.1.4'
host4:
ip: '192.168.1.5'
我知道有多种方法可以达到所需的解决方案。但我不太确定如何以正确的格式编写脚本。如果您有任何建议,将不胜感激。
awk
可以直接在 bash 中完成。你只需要自己做一些研究。 - MikeVelazcojq
将为您提供语法正确的强大保证 -- 在 Python 或类似语言中编写符合规范的 YAML 模块也将具有相同的效果。而任何使用本地工具(无论是bash
本身还是awk
或类似工具)所进行的操作都不会提供此类保证。 - Charles Duffyawk
是自己的独立语言,所以同样可以说Python也可以从bash中正确执行它 :) - Charles Duffy{"host_entries": {"host4": {"ip": "192.168.1.5"}, "host3": {"ip": "192.168.1.4"}, "host2": {"ip": "192.168.1.3"}, "host1": {"ip": "192.168.1.2"}}}
。 - Charles Duffy