我有一些来自遗留系统的数据文件,我想使用 Awk 进行处理。每个文件都包含一个记录列表。有几种不同的记录类型,每种记录类型都有一组不同的固定宽度字段(没有字段分隔符)。记录的前两个字符表示类型,从中您可以知道应该遵循哪些字段。一个文件可能看起来像这样:
AAField1Field2LongerField3
BBField4Field5Field6VeryVeryLongField7Field8
CCField99
使用 Gawk 我可以设置FIELDWIDTHS,但这适用于整个文件(除非我错过了逐个记录设置的方法),或者我可以将 FS 设置为 "" 并处理文件一个字符一次,但那有点麻烦。
有没有一种使用 Awk 从此类文件中提取字段的好方法?
编辑:是的,我可以使用 Perl(或其他东西)。不过,我仍然很想知道是否有一种明智的方式来使用 Awk。