2017-10-30 5 views
0

에 두 개의 변수를 찾고 awk가 :Linux- 내가이 테이블이 하나의 열

enter image description here

그것은 내가 믿는 스프레드 시트 파일입니다.

수천 개의 행과 20 개의 열이 있습니다. 이러한 모든 결과를 특정 열의 특정 값으로 필터링하려고합니다.

염색체 1 (두 번째 열)과 모두 + 가닥 (일곱 번째 열) 및 A/T 또는 C/T (열 번째 열)에있는 모든 SNP를 찾고 싶었습니다. 그런 다음 일치하는 SNP 수를 반환하십시오.

은 지금까지 나는 this-

awk 'BEGIN{OFS=FS="\t"} $1=="chr1" && $7=="+" && $10=="A/T" SNP.txt | wc -l 

난 그냥 그에게 열 (10)를 얻을 수 및/또는 내가 원하는 방법을 잘 모릅니다 노력했다. 사전

에서

덕분에

+5

이미지를 텍스트로 바꾸십시오. – Cyrus

+2

https://stackoverflow.com/questions/15839723/awk-or-statement –

+1

그림을 파싱하는 코드를 작성할 수 없습니다. 간결하고 테스트 가능한 샘플 입력 및 예상 출력 게시 - 우리는 잠재적 인 솔루션을 테스트 할 수 있습니다. –

답변

0

최종 견적은 분명히

awk -F'\t' '$1=="chr1" && $7=="+" && $10~/^(A|C)\/T$/" {count++} 
      END {print count}' SNP.txt 

누락 이미지에 테스트되지 않은 상태입니다. 스크립트에서와 같이 분리 문자가 탭이라고 가정합니다.

마지막 상태는 ($10=="A/T" || $10=="C/T")으로 변경할 수 있습니다. 아마 그 방법을 읽을 수 있습니다.