我有一些非常大的文本文件,這是從舊的大型機應用程序的輸出。我不再有權訪問源應用程序,但需要對輸出執行一些數據分析。文本文件處理:撤消文本換行(列和行)
的數據基本上製表符分隔值,但由於源系統它基於寬度和行數包裹值和斷開輸出
的文本文件的內容看起來像這樣(這是模型數據) :
Page 1:
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8
------------------------------------------------------------
1111 1111 1111 1111 1111 1111 1111 1111
2222 2222 2222 2222 2222 2222 2222 2222
3333 3333 3333 3333 3333 3333 3333 3333
4444 4444 4444 4444 4444 4444 4444 4444
5555 5555 5555 5555 5555 5555 5555 5555
6666 6666 6666 6666 6666 6666 6666 6666
7777 7777 7777 7777 7777 7777 7777 7777
-----------------------------------------------------------
Col9 Col10 Col11
--------------------
1111 1111 1111
2222 2222 2222
3333 3333 3333
4444 4444 4444
5555 5555 5555
6666 6666 6666
7777 7777 7777
--------------------
Page 2:
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8
------------------------------------------------------------
8888 8888 8888 8888 8888 8888 8888 8888
9999 9999 9999 9999 9999 9999 9999 9999
-----------------------------------------------------------
Col9 Col10 Col11
--------------------
8888 8888 8888
9999 9999 9999
--------------------
頁面將持續一段時間。
我想以編程方式轉換文件,以便列是連續的。即。最終的數據集看起來像一個更典型的CSV樣式分隔文件。
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10 Col11
------------------------------------------------------------------------------------
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
2222 2222 2222 2222 2222 2222 2222 2222 2222 2222 2222
3333 3333 3333 3333 3333 3333 3333 3333 3333 3333 3333
4444 4444 4444 4444 4444 4444 4444 4444 4444 4444 4444
5555 5555 5555 5555 5555 5555 5555 5555 5555 5555 5555
6666 6666 6666 6666 6666 6666 6666 6666 6666 6666 6666
7777 7777 7777 7777 7777 7777 7777 7777 7777 7777 7777
8888 8888 8888 8888 8888 8888 8888 8888 8888 8888 8888
9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999
-------------------------------------------------------------------------------------
我不確定從哪裏開始 - 我可以使用像AWK這樣的東西來做這個或某種正則表達式。任何幫助起點,將不勝感激。
謝謝Csplit看起來是我後 - 乾杯 – Matt