【发布时间】:2012-01-11 12:19:54
【问题描述】:
关于 Ruby 的一个很酷的地方是它能够像典型的 Unix 命令行工具一样工作,执行以下操作(类似于官方文档中的示例):
$ echo "matz" | ruby -pe '$_.upcase!'
MATZ
另一方面,Awk 可以对来自标准输入的行进行聚合,例如,对一系列数字求和:
$ for (( i=0; $i < 50; i++ )); do echo $i; done | awk 'BEGIN { tot=0; } { tot += $0 } END { print tot }'
1225
我想知道是否有可能让 Ruby 完成上面的 Awk BEGIN 和 END 块所实现的功能,以便能够进行类似的聚合操作。
【问题讨论】:
-
此代码示例中是否需要
BEGIN和END?
标签: ruby unix command-line awk