awk를 사용하여 여러 콘텐츠 수집

awk를 사용하여 여러 콘텐츠 수집

.tsv 파일의 한 열에 여러 콘텐츠를 수집하고 싶지만 콘텐츠를 적절하게 구분하는 방법을 모르겠습니다. a, b 또는 c가 포함된 모든 단어를 검색해야 합니다. 이 문자가 있는 열은 6열입니다.

그래서 나는 이미 한 글자를 찾는 방법을 알고 있지만 전부는 아닙니다. 나는 편지를 썼다 :

awk '{ if ($6 == "a") print $1,$6,$4}'

아주 간단한 질문일지도 모르지만, 모든 문자(a, b, c)를 한 번에 인쇄하려면 어떻게 해야 합니까?

답변1

이것이 .tsv탭으로 구분된 값을 의미한다고 가정합니다.

/a/여섯 번째 필드가 일치 하거나 일치하는 /b/레코드의 필드 1, 6 및 4를 인쇄하려면 다음을 수행하십시오 /c/.

$ awk -F '\t' '$6 ~ /a|b|c/ { print $1, $6, $4 }' inputfile

관련 정보