awk를 사용하여 파일의 특정 열(예: $2)에 대해 영숫자 유효성 검사를 수행하려면 어떻게 해야 합니까?

awk를 사용하여 파일의 특정 열(예: $2)에 대해 영숫자 유효성 검사를 수행하려면 어떻게 해야 합니까?

$2awk를 사용하여 파일의 특정 열(예:)에 대해 영숫자 유효성 검사를 어떻게 수행할 수 있나요 ?

예를 들어 다음을 시도했습니다.

awk -F, '{if ($10==(/[0-9a-zA-Z]/)) count+=1;} END {print count}' final.csv

오류나 결과가 나오지 않습니다.

답변1

다음과 같이 작동해야 합니다.

awk -F, '$10 ~ /^[[:alnum:]]+$/ { count++ } END{ print count+0 }'

답변2

다음을 수행할 수 있습니다.

awk '$10 ~ /^[0-9a-zA-Z]+$/ {count++} END{print count}' file

이것은 나에게도 효과적입니다. 에서 범위에 있는 모든 숫자와 문자를 확인 0합니다 z.

awk '$10 ~ /^[0-z]+$/ {count++} END{print count}' file

아이디어는 주어진 필드( $10귀하의 경우)가 영숫자 문자 집합만을 기반으로 하는지 확인하는 것입니다. 이는 필드의 시작과 끝을 표시하기 위해 ^및 를 사용하여 수행됩니다 .$

관련 정보