我有一个包含用户列表及其令牌值的文件,如:
- name: A@X/xxxxxx:123
user:
token: abcdefghijk
- name: B@Y/yyyyyyy:456
user:
token: dassafsdfscczcz
我想使用bash脚本获取特定名称的令牌值吗?
答案 0 :(得分:2)
$ param="A@X"
$ awk '{if($2~/name/) {a=$3} else {print a,$0}}' temp |grep token|grep $param|awk '{print $3}'
abcdefghijk
答案 1 :(得分:1)
您可以使用grep:
grep -A 2 "A@X/xxxxxx:123" THEDATAFILE | grep token | cut -d':' -f2
即使您有两次相同的用户并打印两个令牌,它也将起作用。
在Linux上使用GNU grep进行了测试。