如何在第三列中按单词grep字符串

如何在第三列中按单词grep字符串

它尝试 grep 第三列中数字 <4 的字符串。我的数据:

52343523412312;52343523412312;4 
52343523412312;52343523412312;4
52343523412312;52343523412312;4
52343523262412;52343523262412;3

我尝试过 AWK:

awk -F; '$3!="4"'

但仍然收到错误 -awk: option requires an argument -- F

我做错了什么?

答案1

一些东西。您的 shell 使用命令分隔符,因此您需要为命令;引用它(或使用 转义)。\另外,您不应该引用 ,4因为它是一个数字。最后,您想要“小于 4”,而不是“不等于 4”。所以,总的来说,你可以这样做:

awk -F';' '$3<4'

答案2

Python

#!/usr/bin/python

k=open('filename','r')
for i in k:
    gh=i.split(';')
    if (int(gh[2]) < 4):
        print i.strip()

输出

python scr.py 
52343523262412;52343523262412;3



awk ===> Alread best solution provided Below is just with if condition

 awk -F ";" '{if($3 < 4){print $0}}' filename
52343523262412;52343523262412;3

相关内容