【问题标题】:read properties with '=' and white spaces from app.properties in unix shell script在 unix shell 脚本中从 app.properties 中读取带有“=”和空格的属性
【发布时间】:2022-01-21 09:13:32
【问题描述】:

我正在阅读如下所示的属性,但因为我使用的是 = 符号,所以它会中断。我怎样才能阅读完整的财产? 在属性文件中 dbName=jdbc://sample:8080;nameSpace=name1; --config host=sample

# Script used to read Property File
FILE_NAME=Test.prop
# Key in Property File
key="dbName"

# Variable to hold the Property Value
prop_value=""

getProperty()
{
        prop_key=$1
        prop_value=`cat ${FILE_NAME} | grep ${prop_key} | cut -d'=' -f2`
}

getProperty ${key}
echo "Key = ${key} ; Value = " ${prop_value}

【问题讨论】:

    标签: bash shell unix properties


    【解决方案1】:

    只需删除直到第一个 = 的所有文本。

    prop_value=$(grep "^${prop_key}=" ${FILE_NAME} | sed 's/[^=]*=//')
    

    注意事项:
    输入文件很少需要cat。我修改了grep 模式以仅匹配行首的完整键。这可以避免匹配可能包含指定键作为键或值的子字符串的行。我用$(...)替换了反引号。

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 2012-06-03
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2019-07-02
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多