약 5000 패턴 (줄 간격)의 .txt 파일을 사용하여 18000 줄의 다른 파일을 통해 일치하는 항목을 검색하려고합니다. 지금까지 나는 인터넷에서 찾을 수있는 grep과 awk의 모든 형태를 시도해 왔지만 여전히 작동하지 않습니다. 그래서 나는 완전히 엉망이되었습니다.UNIX에서 파일의 패턴을 사용하여 줄을 찾는 방법
다음은 각 파일의 일부 텍스트입니다.
Pattern.txt
rs2622590
rs925489
rs2798334
rs6801957
rs6801957
rs13137008
rs3807989
rs10850409
rs2798269
rs549182
에는 여분의 공백 또는 아무것도 없습니다.
File.txt를
snpid hg18chr bp a1 a2 zscore pval CEUmaf
rs3131972 1 742584 A G 0.289 0.7726 .
rs3131969 1 744045 A G 0.393 0.6946 .
rs3131967 1 744197 T C 0.443 0.658 .
rs1048488 1 750775 T C -0.289 0.7726 .
rs12562034 1 758311 A G -1.552 0.1207 0.09167
rs4040617 1 769185 A G -0.414 0.6786 0.875
rs4970383 1 828418 A C 0.214 0.8303 .
rs4475691 1 836671 T C -0.604 0.5461 .
rs1806509 1 843817 A C -0.262 0.7933 .
File.txt를가 의대 디렉토리에서 직접 다운로드했다.
저는 UNIX에 대해 매우 익숙해서 도움이 될 것입니다.
미안 편집 : 귀하가 추천하는 모든 것을 분명히 시도했으며 결과가 비어 있습니다. 구문 파일이나 텍스트 파일에 누락 된 부분이 있습니까?
P.P.S 개별 greps 작업을 수행하는 것과 일치하는 항목이 있음을 알고 있습니다. 나는이 질문을 unix.stackexchange로 옮길 것이다. 답변 해 주셔서 감사합니다. 나는 그들을 모두 시험해 보겠습니다.
문제 해결 : 나는 분명히 도스 객차를 사용하고있었습니다. 나는 전에 이것에 대해 몰랐다. Patterns.txt File.txt를,
DOS2UNIX *
AWK '페이지에서 $ (1) NR == FNR {다음 페이지 [$ 0]}'이 문제가 발생하는 미래의 사용자의 경우 여기 근무 솔루션입니다 >
Google의 "grep patterns from file"에는 많은 답변이 있습니다. 하지만 분명히 "모든 형태의 grep"에는'grep -f'가 포함되어 있지 않습니다. http://unix.stackexchange.com/questions/83260/reading-grep-patterns-from-a-file – John3136
unix.stackexchange에 더 적합합니다. .com – John3136
패턴 파일에 DOS 캐리지 리턴이 포함되어 있고 대상 파일이 적어도 같은 위치에 있으면 분명히 일치하지 않습니다. 답이'dos2unix' 인 곳에서 수 백 (또는 수천 가지)의 질문을 검색하십시오. [bash tag wiki] (http://stackoverflow.com/tags/bash/info)도 토론이 있습니다. – tripleee