awk - 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
怎么做?
我必须在以下之间添加:
第 1 列和第 2 列有 3 个空格字段分隔符
第 2 列和第 3 列以及第 3 列和第 4 列之间的一个空白字段分隔符
所以在第 2 列中缺少 2 个字段(第 2 行和第 4 行),在第 4 列中也缺少 2 个字段(第 3 和第 5 行)
解决方案
如果输入是固定宽度的列,您可以使用它substr
来提取您想要的切片。我假设您想要索引 5 处的单个字符:
awk '{ print(substr($0,5,1)) }' file
推荐阅读
- javascript - 是否有纯 HTML5/Javascript 替代 jQuery.Callbacks() 来实现客户端发布/订阅?
- javascript - 从另一台计算机或手机添加数据后,如何更新计算机上的视图?
- java - 比较器比较内部列表字段
- postgresql - PostgreSql 过程返回查询没有结果数据的目的地
- c# - 无法让 Application Insights 显示调试遥测数据
- android - Ionic 5 Phonegap-NFC 插件安装时未安装错误
- python - 从另一个字典列表创建字典列表
- android - 追加后 EditText 替换字符
- angular - 与 ngu-carousel 和 ng-bootsrap 模态冲突
- sql - SQL Union 不包括基于单列的重复项?