大量のテキストを含む 2 つの大きなファイルがあり、ファイル B のフィールドと一致するフィールドを持つファイル A のすべての行を保持する必要があります。
ファイルAは次のようなものです:
Name (tab) # (tab) # (tab) KEYFIELD (tab) Other fields
ファイルBIは、カットとsedなどを使用して、基本的にリストである1つのフィールドにまとめました。
そのため、目標は、その行のフィールドがファイル B の行の 1 つと一致する場合、ファイル A のすべての行を 4 番目のフィールド (KEYFIELD と表示されます) に保持することです (完全に一致する必要はないため、ファイル B が何とかしてファイルAは何とか何とか言った、それは大丈夫だろう)
私はやろうとしました:
grep -f fileBcutdown fileA > outputfile
編集:わかりました、私はあきらめます。強引に倒しただけです。
これを行うより良い方法はありますか?ファイル A は 13.7MB で、切り詰めた後のファイル B は 32.6MB です。
編集: これは、ファイル A の行の例です。
chr21 33025905 33031813 ENST00000449339.1 0 - 33031813 33031813 0 3 1835,294,104, 0,4341,5804,
ファイル B の行の例:
ENST00000111111