我有一个包含以下数据的文件:
[abc]
p=xyz
q=123
r=nm
[stu]
p=hjk
q=1234
r=jk
我想访问块“abc”中的变量“p”的值。
有人可以帮助我吗? 感谢
答案 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。