新米インフラエンジニアの研修日記

とある会社で研修させて頂いたことを書いてます。

シェルスクリプト始めました

f:id:the-casket-of-star:20160119194017p:plain
※特に意味は無いです。タイムリープしてるみたいでかっこいいって思っただけです。

頂いたお題が、 「mboxファイルをcsvファイルにする」 っていうことで、変換プログラムみたいなものを作ることになりました。
目的は、そのCSVファイルを使って分析とかしたいんだそうな。

mboxファイルってのはメールデータを取り出したファイルのことです。
送信した時についてるヘッダー情報があって、その下に人が書いた本文があります。

csvファイルはカンマで区切られた行ごとのデータです。

mboxファイルがなんと7GB(゚д゚)!
つまり、何万行にもなるCSVファイルが出来上がりそうです。

日時と送信者と本文を抽出して、CSVにしていこうかなと思います。

mboxファイルの中身をいくつか見てみたら、
Date: ~~ほにゃらら~~
From: ~~ほにゃらら~~<xxxxxx@xxxxx.com>
みたいなヘッダがあったので、これを抜き出します。

本文については ヘッダーと本文の境目が2種類あって、
・X-MagType: free

・Errors-To: ~~ほにゃらら~~
でした。

これ以下を本文として抜き出します。

僕はアタマが悪いし、全部を一気に作ろうとするとぐちゃぐちゃになるので、 1つのmboxファイルをcsv用に1行にする部分と、全部のファイルを変換してCSVファイルに追記する部分でファイルをわけました。

とりあえず必要そうなことをググりながら、書いていきました。

書けたかな~ってところでPC上でテスト

エラー

ざんねーん\(~o~)/

修正とテストしながらやっていきますよー。

ではまた~