过滤或标记块

过滤或标记块

我有一条带有消息的短信:

[:DNS-Google G1 G2 G3 N1 N2 N3 ]

[:VD-Share S1 S2 S3 F1 F2 F3 ]

我需要 grep 块,例如:当我 grepAAA-谷歌,输出将是:

G1 G2 G3 N1 N2 N3

当我 grep VD-Share 时,这将是相同的

过滤块的内容!

答案1

这将帮助您完成大部分工作:

awk -v pattern='\\[:...-Google' '
    $1 == "]" {p = 0} 
    p {print}
    $1 ~ pattern {p = 1} 
' file

您只需要弄清楚如何将变量放入零件中即可-v pattern="XYZ"

相关内容