15개 열(FILE1)과 테이블에 표시되어야 하는 이름 목록(FILE2)이 포함된 큰 탭 파일이 있습니다. 문제는 FILE1의 4~10열에 이름이 나타날 수 있고 대소문자가 일치하지 않을 수 있다는 것입니다.
한 줄에서 적중 항목을 검색한 다음 전체 줄을 인쇄하는 명령을 원합니다. 바람직하게는 대소문자를 구분하지 않으며 이름이 더 큰 단어의 일부인 FILE2의 행을 인쇄하지 않습니다.
나는 다음을 시도했습니다 :
grep -Fwf FILE2 FILE1 > out
xargs -I {} grep "^{}" FILE1 < FILE2 > out
첫 번째는 단순히 FILE1을 외부로 복사합니다. 두 번째는 빈 파일을 제공합니다.
또한 몇 가지 awk
명령을 시도했는데 빈 파일을 제공하거나 위와 같이 FILE1을 복사했습니다. 저는 현재 Linux 기술을 향상시키기 위해 노력하고 있습니다. 가능하다면 귀하의 접근 방식을 설명해 주시면 정말 감사하겠습니다.
파일 1
tax_id GeneID Symbol LocusTag Synonyms dbXrefs chromosome map_location description type_of_gene Symbol_from_nomenclature_authority Full_name_from_nomenclature_authority Nomenclature_status Other_designations Modification_date
7 5692769 NEWENTRY - - - - - Record to support submission of GeneRIFs for a gene not in Gene (Azotirhizobium caulinodans. Use when strain, subtype, isolate, etc. is unspecified, or when different from all specified ones in Gene.). other - - - - 20160818
9 1246500 repA1 pLeuDn_01 - - - - putative replication-associated protein protein-coding - - - - 20160813
9 1246501 repA2 pLeuDn_03 - - - - putative replication-associated protein protein-coding - - - - 20160716
9 1246502 leuA pLeuDn_04 - - - - 2-isopropylmalate synthase protein-coding - - - - 20160903
9 1246503 leuB pLeuDn_05 - - - - 3-isopropylmalate dehydrogenase protein-coding - - - - 20150520
9 1246504 leuC pLeuDn_06 - - - - isopropylmalate isomerase large subunit protein-coding - - - - 20160806
9 1246505 leuD pLeuDn_07 - - - - isopropylmalate isomerase small subunit protein-coding - - - - 20160730
9 1246509 ibp pBPS1_01 - - - - Ibp protein protein-coding - - - - 20150801
9 1246510 repA1 pBPS1_02 - - - - repA1 protein protein-coding - - - - 20160813
파일 2
sacX
arcB
metB
sprT
adrB_2
fadD
trpC
ansP2
group_1428
plsX
repA
답변1
위 댓글에 답해주세요 @Philippos 및 @George Vasiliou의 응답 보기
간단히 말해서 대답은 다음과 같습니다. grep -Fwf FILE2 FILE1 > out
문제가 발생하여 FILE1을 복사하는 명령을 실행했습니다. 이는 FILE2의 뒤에 오는 빈 줄 때문에 발생합니다. 이 명령을 제거하면 명령이 완벽하게 실행됩니다.
파일의 일부 텍스트가 대소문자와 일치하지 않을 수 있으므로 위 명령에 -i를 포함시켰습니다.
도움을 주신 모든 분들께 감사드립니다.