3番目の列では、数値が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
何。シェルはコマンド区切り文字を使用するため、コマンドに;
これを引用するか、エスケープを使用する必要があります。また、数字なので\
引用しないでください。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