세 번째 열에서 숫자가 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
파이썬
#!/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