특정 열의 고유 값 선택

특정 열의 고유 값 선택

나는 다음을 사용해 보았습니다.

awk '{print $1}' your_file | sort | uniq

그러나 출력은 예상과 다릅니다. 내가 관심 있는 열 값의 예는 다음과 같습니다.

"Non-cancer illness code, self-reported"
"Birth weight known" 

각 필드의 공백이 문제를 일으키나요? 그렇다면 어떻게 해결할 수 있습니까? 감사합니다!

답변1

추출된 파일의 첫 번째 탭 문자를 사용하여 필드를 구분하려면 awk필드 구분 기호가 탭으로 설정되어 있는지 확인하세요. 아래와 같이 \t옵션 인수를 옵션에 제공하여 이를 수행 할 수 있습니다 -F.

awk -F '\t' '{ print $1 }' file

cut탭이 기본 구분 기호이고 다른 멋진 작업을 수행할 필요가 없기 때문에 여기서 사용하는 것도 상대적으로 쉽습니다.

cut -f 1 file

sort | uniq고유한 행을 얻으려면 전달 하고, sort -u입력을 줄이려면 전달하세요.


당신이 겪고있는 문제는 awk당신이 기본값으로 실행되고 있다는 것입니다공백(탭 또는 공백 실행)을 구분 기호로 사용하고 첫 번째 필드에 공백이 포함되어 있어 유틸리티가 첫 번째 필드를 잘못 해석하게 됩니다.단어첫 번째 필드로.

관련 정보