【发布时间】:2017-02-17 15:04:13
【问题描述】:
我想使用 'awk' 从格式化文件中提取特定信息,例如:
- 如果该行有 2 个字段,则打印第一列 (100),第二列 (2) 表示后面的“X”行对
- 如果对应于 NR + (2*X -1) 的行以“B”开头,则打印该行的第二列
- 如果 NR + (2*X -1) 的对应行不以“B”开头,则打印值“0”。
示例文件:
100 2
A .5 .4
.3 .2 .1
B .9 .8
.7 .6 .65
200 1
A .5 .4
.3 .2 .1
理想输出:
100 .9
200 0
迄今为止的代码:
awk '{if(NF==2) print $1;}'
产生:
100
200
【问题讨论】:
-
你应该展示你已经尝试过的东西。
-
我不是 awk 专家,但请在您的帖子中包含该信息。它将帮助某人确定如何帮助您。