約5000のパターン(行間隔)を含む.txtファイルを使用して、18000行を含む他のファイルから一致するものを検索しようとしています。これまで、私はインターネット上で見つけることができるすべてのタイプのgrepとawkを試しましたが、まだ機能していないので完全にパニックになりました。
以下は、各ファイルの一部のテキストです。
パターン.txt
rs2622590
rs925489
rs2798334
rs6801957
rs6801957
rs13137008
rs3807989
rs10850409
rs2798269
rs549182
余分なスペースや何もありません。
ファイル.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はmedディレクトリから直接ダウンロードされます。
私はUNIXに初めて触れたので、どんな助けでも役に立ちます!
これはstackoverflowからコピーされました。推奨されるすべての方法を試しましたが、出力はまだ空です。テキストファイルに構文の問題や何かが欠けている可能性はありますか?
PS:私が試したこと:
grep -Fw -f Pattern.txt File.txt
fgrep -f Pattern.txt File.txt
FILENAME=$1
awk '{kount++;print $0}' $FILENAME | fgrep -f - Pattern.txt
awk 'NR==FNR{pats[$0]; next} $2 in pats' Pattern.txt File.txt
答え1
GNU grepでこれを試してください:
grep -f Pattern.txt File.txt