先日Mac OS Xでapacheのログ集計をやっていたら、 どうもcutの挙動がおかしい。なにがおかしいかというと、
% cat /usr/local/apache/logs/access_log | cut -d' ' -f1
こんなコマンドを発行してみると、ある行にいったときに
cut: stdin: line too long.
ってエラーで処理が止ってしまうのだ。ネットで調べたりすると、
echo -n 'This is not a waffle' | cut -f1
こんなのでもエラるという記述が…。確かにこれをやるとMac OS Xだとエラる。 そもそものMac OS Xのcutがおかしいようだ。 同僚のT氏に、こんなことあるんだよねと聞いたところ同じことになるらしい。 んで、T氏がFreeBSD 4.8-RELEASEのソースをもってきて、Mac OS Xのgccで コンパイルをしたところ普通に動くとのことで、同じことをしてみた。 おお!動く。 うーむ、デフォルトのcutのはバグなのかな? ソースを読むきになれん…。