Bash脚本:正则表达式从文本文件中读取数值参数

时间:2010-05-25 15:24:32

标签: bash file parsing shell

问候!

我有一个参数设置如下的文本文件:


NameOfParameter Value1 Value2 Value3 ... ...


我希望使用regexp模式通过 NameOfParameter 找到所需参数,并将选定的返回到我的Bash脚本。 我尝试使用grep执行此操作,但它返回整行而不是

你能帮我找到方法吗?

2 个答案:

答案 0 :(得分:0)

目前尚不清楚您是想要所有值还是只需要一个特定值。在任何一种情况下,都可以使用cut命令的功能从文件中剪切所需的列(-f 2-将删除第2列和第2列(因此除了参数名称之外的所有内容; -d " "将确保这些列被视为空格分隔,而不是默认的制表符分隔)

egrep '^NameOfParameter ' your_file | cut -f 2- -d " "

答案 1 :(得分:0)

击:

values=($(grep '^NameofParameter '))
echo ${values[0]}    # NameofParameter 
echo ${values[1]}    # Value1
echo ${values[2]}    # Value2
# etc.

for value in ${values[@:1]}    # iterate over values, skipping NameofParameter
do
    echo "$value"
done