【问题标题】:How to select a row using shell scripting?如何使用 shell 脚本选择一行?
【发布时间】:2016-01-04 18:49:10
【问题描述】:

考虑下面的例子:

Parameter1 = 5
Parameter2 = 10
Parameter3 = 15
Parameter4 = 20

我想通过提供如下所示的用户输入来根据参数名称获取值:

echo ""
echo " Enter the parameter name"
read value
Parameter = "$value"

检查参数是否存在于关注文件中

if grep -qs "$Parameter" "Filename"
then 
    echo " Parameter exist within the concern file"
    val = #Here I want to fetch the value of the parameter that the user had input and I do not know how to do it? 

请告诉我如何获取用户输入的参数值。

【问题讨论】:

    标签: linux shell unix qnx


    【解决方案1】:

    如果我理解正确,您可以使用以下内容:

    read param_name # e.g. Parameter2
    value=$(awk -v param="$param_name" '$1 == param { print $3 }' filename)
    

    这会读取参数的名称,然后在第一个字段与名称匹配时打印行上的第三个字段。结果赋值给shell变量$value

    【讨论】:

    • 感谢您的意见。我使用了以下命令,我认为它会获取正确的数据。非常感谢您的输入: val= kbedit $Filename "p $Object $Parameter" | grep "$参数" | awk '{print $3}'
    • 我真的不明白您的评论与原始问题有什么关系。你试过我的建议了吗?它奏效了吗?如果没有,发生了什么?请不要将大量代码发布到 cmets 中,这完全不可读。
    猜你喜欢
    • 1970-01-01
    • 2021-09-06
    • 2020-11-04
    • 2012-01-11
    • 2017-04-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2014-11-13
    相关资源
    最近更新 更多