15列(FILE1)とテーブルに表示される名前のリスト(FILE2)を含む大きなタブファイルがあります。問題は、FILE1の列4〜10に名前が表示され、大文字と小文字が一致しない可能性があることです。
1行からヒットアイテムを検索してから、行全体を印刷するコマンドが必要です。好ましくは大文字と小文字を区別せず、名前が大きい単語の一部であるFILE2の行を印刷しません。
私は以下を試しました:
grep -Fwf FILE2 FILE1 > out
xargs -I {} grep "^{}" FILE1 < FILE2 > out
最初は、単にFILE1を外部にコピーします。 2番目は空のファイルを提供します。
また、いくつかの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を含めました。
助けてくれた皆さんに感謝します。