我想 grep 一个单词,然后找到该行中的第二列并检查它是否大于一个值。是的,我想打印上一行。
前任:
输入文件
AAAAAAAAAAAAA
BB 2
CCCCCCCCCCCCC
BB 0.1
输出
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
,则打印 184 存储的值 0x2341。 f
将当前行存储在 {f=$1}
中,以便读取下一行时可以访问。 关于linux - 如果条件满足则打印上一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27740937/