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를 포함했습니다.
도움을 주신 모든 분들께 감사드립니다.