我正在搜索文件中的区分大小写。
在第三列中,我要查找第一次出现的条目“ 0.000000”;然后打印该行以及之前的一行。为此,我编写了命令:
grep -m1 -B1 '0.000000'
但是此命令不会在所需的第三行中搜索匹配项。而是在任何位置找到匹配项并打印两行。例如,下面在第8列中找到匹配项。
答案 0 :(得分:1)
grep
不是正确的工具,如果可能,应使用awk
。在以下示例中,将第三列与字符串0.000000
进行比较并进行打印。请注意,{prev=$0}
块将每行的前一行存储在prev
变量中。 exit
用于仅希望第一个比赛。
awk '$3=="0.000000"{print prev RS $0 ;exit}{prev=$0}' inputfile