它尝试 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