凛として時雨 『abnormalize(short ver.)』
(凛として時雨 abnormalize)
アニメ『PSYCHO-PASS サイコパス』(2012)
見ないでずっと損してました。
OPがカッコいいかどうかで、アニメを見るかどうか決めることが多いです。
abnormalizeの反対?、今回はノーマライズ、正規化です。正規化といってもあいまいな意味なので、何を正規とするかですが、今回は人が読みやすい形=「正規」として、正規化データを作ることにします。DBの正規化とは逆になりますね。
このような表を、
このような形にしてみます。
まず、CalcやExcelで作った上記表を、適当なテキストエディタ等でファイルへコピペ。tokuten.txtというファイルに格納しました。
takk@deb9:~$ cat tokuten.txt 氏名 教科 点数 A君 国語 50 A君 算数 60 A君 理科 70 A君 社会 80 B君 国語 60 B君 算数 60 B君 理科 55 B君 社会 40 Cさん 国語 60 Cさん 算数 60 Cさん 理科 55 Cさん 社会 40 takk@deb9:~$
Perlで一番左のフィールドを取り除いてみましょう。
タブ区切りデータなので、行頭からタブ以外をs///で削除するだけです。
takk@deb9:~$ perl -pe 's/^[^\t]+//' tokuten.txt 教科 点数 国語 50 算数 60 理科 70 社会 80 国語 60 算数 60 理科 55 社会 40 国語 60 算数 60 理科 55 社会 40 takk@deb9:~$
次は、連想配列を使って、初回のみフィールドを残すように条件を加えます。
takk@deb9:~$ perl -pae 's/^[^\t]+// if $h{shift@F}++' tokuten.txt 氏名 教科 点数 A君 国語 50 算数 60 理科 70 社会 80 B君 国語 60 算数 60 理科 55 社会 40 Cさん 国語 60 算数 60 理科 55 社会 40 takk@deb9:~$
あとは、これをCalcなりExcelなりに貼り付ければ出来上がりです。
コメント