【发布时间】:2019-11-15 11:33:31
【问题描述】:
你好。
我是 Shell 脚本的新手,所以需要您的帮助...
我有以下信息的配置文件
配置名称 AAAA 根根 端口号 00000 主机名哈哈哈 配置名称 AAAA 少根 端口号 00001 主机名 nonononono 配置名称 AAAA 少根 端口号 00002 主机名 nonononono在我的 bash 文件中,有一个带有以下信息的数组列表
${array1[0]} # Has value of value11111
${array2[1]} # Has value of value22222
${array2[1]} # Has value of value33333
我想更改配置文件并保存如下
配置名称 value11111 根根 端口号 00000 主机名哈哈哈 配置名称 value22222 少根 端口号 00001 主机名 nonononono 配置名称 value33333 少根 端口号 00002 主机名 nonononono我尝试了 awk 和 sed,但没有成功.....你能帮忙吗?
【问题讨论】:
-
shell 数组是如何被填充的?您可能不需要它们,而是可以直接从它们所填充的任何内容中获取输入,因此盲目地在它们之上构建并不是一个好主意。
-
如果值始终为
value11111、value22222等。您可以使用awk生成替换。如果它们是任意值,那么您将需要使用脚本和参数扩展。可以使用awk和sed,但在这种情况下,您将为每个替换生成一个附加进程。为@EdMorton 的评论提供答案