使用shell脚本搜索变量值

时间:2014-09-15 06:57:59

标签: shell

我有一个包含以下数据的文件:

[abc]

p=xyz

q=123

r=nm

[stu]

p=hjk

q=1234

r=jk

我想访问块“abc”中的变量“p”的值。

有人可以帮助我吗? 感谢

2 个答案:

答案 0 :(得分:1)

让我们在找到[abc]后开始检查行,并在找到以[开头的另一行时停止。同时,检查第一个字段是p,在这种情况下,打印第二个字段:

$ awk -F= '$1=="[abc]" {f=1; next} f && $1=="p" {print $2} f && /^\[/ {f=0}' file
xyz

答案 1 :(得分:0)

你可以试试这个:

awk 'BEGIN{RS="["} $1=="abc]"{ print $2 }' <filename> | cut -d'=' -f2

这将给出p的值,即xyz。