コンピュータ実験中に汚い出力構成を作ってしまったときの尻拭い
何をどうするかがわかっている(わかりきっている)ときに、その処理を計算機に代行させる、そのためのプログラムを書く、そんなときは、きれいな入出力管理ができる。
日常は、そんなわけにいかず、試行錯誤の結果、行うべき処理が決まる。ようやく処理方針が固まったころには、ソースはたこ足で、出力は、仮出力や、経過確認出力などが入り乱れて、最終的な結果のみをきれいに出してくれるような状況にはなかなか到達しない。
ある時点(めどがたった時点)で入出力を整理すればよいようなものだが、『実験中』のソースはやたらに整理すると、後で後悔することが稀ではない・・・。
というわけで、ソースをどんどん作りながら、そのときそのときで、なんとか、データを取り出したい・・・・。
そのために、LINUXコマンドをパイプでつないでみた。実行ソースの標準出力をとにかくlogfile.txtに吐き出させておいて、その吐き出し規則から取り出そうとしたもの。
(タブ区切り)の3列目をcutで切り出して、そのうち、空白行を除いた行番号つき出力をさせて(nl -b t)、空白でない行の最上行をとり、(grep ' 1' | head -n 1)、さらに、コマンド処理でくっついてきた1行目を外して、取り出した行の2行目を取り出して、出力ファイル out.txtに吐く・・・
cut -f 3-3 logfile.txt | nl -b t | grep ' 1' | head -n 1 | cut -f 2-2 > out.txt