세 번째 열의 단어별로 문자열을 파악하는 방법

세 번째 열의 단어별로 문자열을 파악하는 방법

세 번째 열에서 숫자가 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

관련 정보