두 파일에서 일부 목록을 일치시키고 추출하려고합니다. 예를 들어 설명해 드리겠습니다.공통 열을 기반으로 서로 다른 두 파일을 일치시키고 병합하십시오.
나는 두 개의 파일
List
gene1
gene2
gene3
MainFile
chr17 70593167 70593381 exon . + gene10
chr17 70593167 70593381 intron . + gene1
나는 유전자의 목록과 일치하고 MainFile에서 추출하고자하는
있습니다. 이 하나의 출력은chr17 70593167 70593381 intron . + gene1
내가뿐만 아니라 일치하지 않는 사람을 찾고 싶은 것이다.
egrep "$(echo $(<List)|sed 's/ /$|/g')$" MainFile > Matches egrep -v "$(echo $(<List)|sed 's/ /$|/g')$" MainFile > NonMatches
그것은 SED 및 bash는 대체의 도움으로 정규식으로 목록을 변환 한 다음 검색 egrep을 사용 :이 하나의 출력은
chr17 70593167 70593381 exon . + gene10
체크 아웃'join' 프로그램 ... – twalberg
작업에 참여합니까? – user1007742
해야합니다. 적어도 내가 가지고있는 버전은 - 그러나 거기에 다른 구현이있을 수 있으므로, 당신을 체크 아웃하십시오. 참고, 비록 두 입력 파일 조인 키에 정렬해야합니다 ... – twalberg