Unix cmd를 사용하여 파일에서 null 값을 찾는 방법

Unix cmd를 사용하여 파일에서 null 값을 찾는 방법
Id, name, currency
101,aaa, 10000
102,BBB,
103,ccc, 20000

빈 셀 통화 열이 있다는 것을 알고 있습니다. 터미널 명령을 사용하여 어떻게 찾을 수 있나요?

답변1

데이터가 다음과 같다고 가정해 보겠습니다.

Id,name,currency
101,aaa,10000
102,BBB,
103,ccc,20000

그런 다음 다음을 사용하여 세 번째 필드에 데이터가 포함되지 않은 행을 인쇄할 수 있습니다.

$ awk -F , '$3 == ""' file.csv
102,BBB,

명령줄에서 -F ,입력 필드 구분 기호를 쉼표로 설정하므로 awk쉼표의 각 줄은 별도의 필드로 분할됩니다. 조건 $3 == ""은 "필드 3이 비어 있음"을 의미합니다("비어 있음"은 "공백도 포함하지 않음"을 의미함).진짜, 기본 작업이 수행됩니다. 기본 동작은 현재 줄을 인쇄하는 것입니다.

머리글 행도 출력하시겠습니까?

$ awk -F , 'NR == 1 || $3 == ""' file.csv
Id,name,currency
102,BBB,

조건은 NR == 1 || $3 == """첫 번째 행이거나 세 번째 필드가 비어 있는 경우"를 의미합니다.

각 출력 줄에 줄 번호를 추가하려면 다음을 사용하십시오.

$ awk -F , 'NR == 1 || $3 == "" { print NR, $0 }' file.csv
1 Id,name,currency
3 102,BBB,

대신 여기기본실제로 우리는 현재 줄 번호( NR)와 파일의 원본 텍스트 줄( $0)을 인쇄하는 블록을 트리거합니다.

답변2

grep -n "null-(blank)" file.txt"null-(공백)"이 나타나는 각 줄(줄 번호 포함)을 출력합니다.

통화 열만 확인하려면 다음 정규식 패턴을 사용하면 됩니다.

grep -n "[^,]*,[^,]*,[ ]*null-(blank)" file.txt

관련 정보