gawk高级输入处理技巧
在数据处理领域,gawk 是一款功能强大的工具。本文将深入探讨 gawk 的一些高级特性,包括处理定宽数据、按内容定义字段、多行记录以及使用 getline 进行显式输入等,帮助你更高效地处理各种复杂的数据。
1. 处理定宽数据
在某些情况下,数据没有明显的字段分隔符,而是以固定宽度的字段形式存在。例如,旧的 Fortran 程序输入或未考虑作为其他程序输入的程序输出。gawk 提供了 FIELDWIDTHS 变量来处理这类定宽数据。
1.1 使用 FIELDWIDTHS 变量
将包含以空格分隔的数字的字符串赋值给内置变量 FIELDWIDTHS ,每个数字指定一个字段的宽度,包括字段之间的列。如果要忽略字段之间的列,可以将其宽度指定为一个后续忽略的单独字段。注意,提供非正数的字段宽度会导致致命错误。
以下是一个示例数据,是 Unix w 实用程序的输出:
10:06pm up 21 days, 14:04, 23 users
User tty login idle JCPU PCPU what
hzuo ttyV0 8:58pm 9 5 vi p24.tex
hzang ttyV3 6:37pm 50 -csh
eklye ttyV5
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



