フォーマットの問題
2007-10 14,807 1,604 29,600 2007-09 15,173 521 35,853 2007-08 12,799 1,236 516 2007-07 5,780 416 37,135
というファイルがあり、以下のように出力したいそうです。
2007-10 14,807 1,604 29,600 2007-09 15,173 521 35,853 2007-08 12,799 1,236 516 2007-07 5,780 416 37,135
そのためにやったことが以下のものです。
cat file| awk '{printf "%-11s%-7s%-9s%s\n",$1,$2,$3,$4}'
回答は以下のとおり。
$ awk '{printf "%7s%9s%9s%9s\n",$1,$2,$3,$4}' file 2007-10 14,807 1,604 29,600 2007-09 15,173 521 35,853 2007-08 12,799 1,236 516 2007-07 5,780 416 37,135
これを UUOC だと Ed は言っていますが、個人的には UUOC は悪くないと教えられてきたので、先頭に cat があっても悪いとあまり思っていなかったりします。先頭の cat は不要ですが、処理のオーバーヘッドが MS-DOS よりも少なく済む、つまりパイプを使うことは Unix の醍醐味のひとつだと師匠の一人に教わった記憶があります。既に 12 年前ですが・・・。