读取属性文件并在.sh中获取值

时间:2014-03-24 04:02:47

标签: shell sh

我知道如何阅读文件并获取所有文字,但我需要知道如何只获取我需要的值。

前: -

.properties文件有,

runId=A667B

我只需要获得A667B值。

3 个答案:

答案 0 :(得分:1)

一种方式:

awk -F= '$1=="runId"{print $2}' file

答案 1 :(得分:1)

. .properties

此后,可以通过$runId获得该值。

答案 2 :(得分:0)

这是一个纯shell方法:

IFS="=" read -r ignore var <file.properties

执行上述操作后,变量var的值为A667B

以上工作通过从文件中读入变量来实现。通常,shell期望变量由空格分隔。但是,在这种情况下,我们告诉它变量将用等号分隔。我们通过将IFS变量指定为=的值来实现此目的。

-r的{​​{1}}选项告诉它将输入文件中的任何反斜杠视为文字反斜杠,而不是具有特殊含义的字符。如果您想要特殊含义,例如read是制表符,请删除该选项。

上面还将shell变量\t设置为值ignore。既然你说你不想要那个,那就忽略名为runId的变量。

上面代码中的双引号实际上是不必要的。我把它们放在那里试图让代码更清晰。以下行可能看起来很奇怪,但它也可以正常工作:

ignore