我想 grep 一个单词,然后找到该行中的第二列并检查它是否大于某个值。是的,我想打印上一行。
Ex:
输入文件
AAAAAAAAAAAAA
BB 2
CCCCCCCCCCCCC
BB 0.1
Output
AAAAAAAAAAAAA
现在,我想搜索 BB,如果该行中的第二列(2 或 0.1)大于 1,我想打印上一行。
有人可以帮我使用 grep 和 awk 吗?谢谢。也欢迎任何其他建议。谢谢。
这可以是一种方式:
$ awk '$1=="BB" && $2>1 {print f} {f=$1}' file
AAAAAAAAAAAAA
解释
-
$1=="BB" && $2>1 {print f}
如果第一个字段恰好是BB
第二个字段大于1
,然后打印f
,存储值。
-
{f=$1}
将当前行存储在f
,以便在阅读下一行时可以访问它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)