我有个挑战。我有一条短信:
characteristic "type"
value "A"
value "B"
value "C"
default-value "B"
exit
characteristic "active"
value "no"
value "yes"
default-value "no"
exit
characteristic "traffic"
value "disabled"
value "enabled"
default-value "enabled"
exit
characteristic "quota"
value "enabled"
default-value "disabled"
exit
characteristic "redirect"
value "disabled"
value "enabled"
default-value "disabled"
exit我想知道在“特性”和“退出”之间有多少次是“值”。所以,我希望是这样的:
3
2
2
1
2我试着使用sed和grep,但我无法得到sed返回'-n -e‘/^特点/、/^exit/ p’的第n位。我相信bash不需要做很多事情就能做到。
谢谢你的帮助。
发布于 2018-05-28 21:58:18
我想说:
awk '$1 == "characteristic" { ctr = 0 } $1 == "exit" { print ctr } $1 == "value" { ++ctr }' filename很简单:
$1 == "characteristic" { ctr = 0 } # Start of a new section: reset counter
$1 == "exit" { print ctr } # end of section: print counter
$1 == "value" { ++ctr } # value line: increase counterhttps://stackoverflow.com/questions/50573665
复制相似问题