【发布时间】:2016-10-08 03:37:46
【问题描述】:
我有一个日志文件(在运行 python 脚本的输出中) 日志文件包含我要传递给 shell 脚本的变量列表。我该如何做到这一点
示例 日志文件有以下内容。它有变量 x, y, z
文件example.log的内容:
2016-06-07 15:28:12.874 INFO x = (10, 11, 12)
2016-06-07 15:28:12.874 INFO y = case when id =1 then gr8 else ok end
2016-06-07 15:28:12.874 INFO z = 2016-06-07
我想让shell脚本读取变量并在shell程序中使用
示例外壳 shell.ksh
分配变量
var1 = read_value_x from example.log
var2 = read_value_y from example.log
是否有一个通用的 shell 函数可以用来读取日志并解析变量值
谢谢 PMV
【问题讨论】:
-
您想在 var1,var2 中设置日志文件的哪一部分?一个例子 o/p 总是有帮助的。在提出问题的同时发布您尝试过的内容。
-
日志中带“=”的表达式为变量列表。我想阅读第一行并将其设置为 var1,第二行并将其设置为 var2 ...我没有尝试任何代码,因为我是 shell 脚本的新手。我知道可以在这种情况下使用正则表达式,但不确定如何循环它们/创建通用函数
-
你想要多通用?如果您可以将文本按摩成一段 shell 脚本,您可以
eval这样做,但普遍的共识通常是您不应该这样做。 -
我将始终拥有一个带有这样设置的日志文件。我想将日志文件作为输入传递并在 shell 中设置变量
-
我使用 KSH(Korn Shell)。我不确定 bash(我有哪个版本的 bash)。 Ae 数组在 bash 中处理得更好?