gpt4 book ai didi

awk - 如何让 awk 仅在某些标题后运行?

转载 作者:行者123 更新时间:2023-12-02 00:27:22 26 4
gpt4 key购买 nike

我有一个文件,其中包含某些标题下的值表。像这样:

Series A
a 01 20
b 21 43
c 44 59
d 60 72

Series B
a 01 25
b 26 48
c 49 70
d 71 90

我的问题是,如何让 awk 只从指定的系列中提取信息?因此,如果 awk 被告知查看“Series B”,第 2 列,它将输出该列。

最佳答案

如果数据由一个空行分隔,那么你可以使用这样的东西 -

[jaypal:~/Temp] cat file
Series A
a 01 20
b 21 43
c 44 59
d 60 72

Series B
a 01 25
b 26 48
c 49 70
d 71 90
[jaypal:~/Temp] awk '/Series B/,/^$/ { if (NF==3) print $2 }' file
01
26
49
71

或者你可以在 sed 中做类似的事情:

[jaypal:~/Temp] sed -n '/Series B/,/^$/s/\(.*[^ ]\) \(.*[^ ]\) \(.*\)/\2/p' file
01
26
49
71

关于awk - 如何让 awk 仅在某些标题后运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8378145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com