各コラムの合計を計算するだけの perl スクリプト。使い捨ての類。車輪
の再発明だけど、探すより作る方が早い。「もっとプログラムを短くした
い!」という誘惑にかられたが (パズル魂)、ぐっと我慢。
#!/usr/bin/env perl
use Getopt::Std;
getopt('d');
$delimitter = (defined $opt_d) ? $opt_d : '\s+';
while (<>) {
print;
@c = split(/$delimitter/, $_);
for (0..$#c) {$sum[$_] += $c[$_]}
}
print "#", join(",", @sum), "\n";
% ll *.txt | gok
-rwxr--r-- 1 yto yto 50668 Jul 5 2002 a1.txt
-rwxr--r-- 1 yto yto 50584 Jul 4 2002 a2.txt
#0,2,0,0,101252,0,9,4004,0
% gok -d , a.csv
2002-12, 83, 0
2003-01, 65, 23
2003-02, 87,109
#6008,235,132
こんな感じの処理ができる UNIX コマンド (たいていの環境に入っていそ
うなもの) ってあるのかなあ。 cut や cat にこういうオプションが付い
ているとベストなんだけど。
この記事に言及しているこのブログ内の記事


