实验数据 40000 个左右,存为一个 txt 文件中,每行一个数据: 想要每隔 100 行取一个数据,结果输出为 txt 文档 请问用 ruby 如何实现?
非 ruby 版本,文本处理还是管道方便快捷
awk '{if($0%100 == 0) print;}' data.txt > result.txt
其实 ruby 比 awk 强...
ruby -pne '$.%100==0 or $_=""' data.txt > result.txt
代码中
$.
$_
Ruby 参数中
p
n
e
题外:如果 ruby 参数中加了 a, 那么也能接受和 awk 一样的 -F 参数,然后 $F 中可以访问拆分的部件,ruby --help 可以看到各种参数的作用
a
-F
$F
ruby --help
#2 楼 @luikore 大侠很猛
awk 不带块默认就是打印
awk '!(NR % 100)' data.txt > result.txt
#2 楼 @luikore 这个可以原封不动的把 ruby 换成 perl
#2 楼 @luikore -n 是不自己打印版的 -p ,当使用 -p 的时候 -n 没有效果的
-n
-p
#6 楼 @doitian 原来是这样... 我还在想是不是 -plane (灰机) 的用更好...
-plane