我有一些來自遺留系統的數據文件,我想使用Awk進行處理。每個文件都由一系列記錄組成。有幾種不同的記錄類型,每種記錄類型都有一組不同的固定寬度字段(沒有字段分隔符)。記錄的前兩個字符表示類型,由此您知道哪些字段應該遵循。一個文件可能是這個樣子:使用Awk處理文件,其中每個記錄具有不同的固定寬度字段
AAField1Field2LongerField3
BBField4Field5Field6VeryVeryLongField7Field8
CCField99
使用Gawk的我可以設置FIELDWIDTHS,而是適用於整個文件(除非我缺少一條記錄,由記錄的基礎設置這個的一些方法)或者我可以將FS設置爲「」並一次處理文件一個字符,但這有點麻煩。
有沒有一種很好的方法來使用Awk從這樣的文件中提取字段?
編輯:是的,我可能使用Perl(或別的東西)。儘管如此,我仍然渴望知道是否有一種明智的做法。
您可以使用與Jonathan Leffler的答案類似的匹配。然後做你的子串提取。 – 2009-09-08 13:53:09