我有一個目錄(/home/myuser/logs
),它包含以下日誌文件的最後5天,以獲得合計日期時間具有相同的結構,只是不同的數據:猛砸/蟒蛇/ perl的神奇跨越多個日誌文件
<timestamp> | <fruit> | <color> | <cost>
因此,例如,applogs_20130402.txt
可能看起來像:
23:41:25 | apple | red | 53
23:41:26 | kiwi | brown | 12
23:41:29 | banana | yellow | 1023
... (etc., every line is pipe delimited like this)
我想創建一個「主日誌」,它將所有5個日誌文件中的所有日誌條目(結構化,管道分隔的行)合併到一個文件中,所有時間戳按時間順序排列。此外,我還需要反映在時間戳中的日期。
所以,舉例來說,如果applogs_20130402.txt
和applogs_20130401.txt
都在目錄中只有2個applogs,他們都分別是這樣的:
applogs_20130402.txt:
=====================
23:41:25 | apple | red | 53
23:41:26 | kiwi | brown | 12
23:41:29 | banana | yellow | 1023
applogs_20130401.txt:
=====================
23:40:33 | blueberry | blue | 4
23:41:28 | apple | green | 81
23:45:49 | plumb | purple | 284
然後,我想一個masterlog.txt
文件看起來像:
2013-04-01 23:40:33 | blueberry | blue | 4
2013-04-01 23:41:28 | apple | green | 81
2013-04-01 23:45:49 | plumb | purple | 284
2013-04-02 23:41:25 | apple | red | 53
2013-04-02 23:41:26 | kiwi | brown | 12
2013-04-02 23:41:29 | banana | yellow | 1023
我在Ubuntu上,有權訪問Bash,python和perl,並且沒有使用哪種解決方案的優先權。通常我會嘗試一個「最佳嘗試」併發布它,但我從來沒有在Linux上處理過這樣的聚合數據。顯然,日誌的大小是數千行,與上面的示例不同。所以手動做所有事情都不是一個選項;-)提前致謝!
爲什麼downvote? – IAmYourFaja 2013-04-03 18:48:49
似乎很容易與一些命令行程序,但你有什麼嘗試?我沒有投票,但我會說這是因爲你沒有包括你的努力。 – squiguy 2013-04-03 18:50:05
如果你在Windows或Linux上,這並不重要。我不是downvoter,但我認爲除了描述問題之外還有一點努力不會受到傷害。 – simbabque 2013-04-03 18:50:08