【发布时间】:2015-10-16 10:38:53
【问题描述】:
我有一个如下格式的数据文件
AA 21.1218 14.7862 0.0566269
BB 26.5036 14.5513 19.975
CC 7.82448 1.30605 50.126899
AA 10.0179 4.3786 21.232036
BB 4.80236 4.23255 36.217038
CC 31.475 9.60365 7.237505
AA 8.39392 5.89571 10.30242
......
在这里,我想做的是
检查第 1 列和第 4 列,计算第 4 列中大于 12 的数据的个数,以及第 1 列中的 'BB',(上例中应为 2),然后乘以 20那个号码。 (最终答案应该是40)
我是从
awk '{print ($4>12)}' file > file2
wc -l file2
检查第 4 列的编号,并打印行号。
但显然他们没有奏效。似乎 awk 不能在里面使用 运算符。 (大于或小于)如何使用 cat、awk、sed 或 grep 实现此操作?
谢谢
【问题讨论】:
-
@Ed Morton 我的意思是“大于”或“小于”
-
@Ed Morton 但我只能在文件中看到 0 和 1...也许我的方法是错误的...
-
啊,我明白了,谢谢。我正在再次阅读 awk 的手册
-
要真正学习 awk,请阅读 Arnold Robbins 所著的《Effective Awk Programming, 4th Edition》一书。
-
感谢您的推荐。我登录亚马逊。 :)