首页 > 解决方案 > awk 列中有空字段

问题描述

这里我的file.dat

1   A 1 4
2     2 4
3   4 4
3     7 B
1   U 2

运行awk '{print $2}' file.dat给出:

A
2
4
7
U

但我想保留空白字段:

A

4

U

怎么做?

我必须在以下之间添加:

所以在第 2 列中缺少 2 个字段(第 2 行和第 4 行),在第 4 列中也缺少 2 个字段(第 3 和第 5 行)

标签: awk

解决方案


如果输入是固定宽度的列,您可以使用它substr来提取您想要的切片。我假设您想要索引 5 处的单个字符:

awk '{ print(substr($0,5,1)) }' file

推荐阅读