私が作業しているプロジェクトの場合は、特定のパターンと具体的に一致する必要がある識別子のリストが必要です。
デフォルトでは、ファイルには、関連する行を選択するために他のファイルで使用したいパターンのリストがあります。
幸いにもgrep -f patternfile.txt otherfile.txt > releventlinesfile.txt
それは動作しません。どちらもありませんgrep -w
。
otherfile.txtのファイル構造は次のとおりです。
test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 log2(fold_change) test_stat p_value q_value significant
TSS10019 XLOC_007800 ABC73140 1:27498963-27503819 BA BB NOTEST 0.666344 0.628569 -0.0841946 0 1 1 no
TSS1002 XLOC_000726 ABC14350 1:4907952-4913152 BA BB NOTEST 0 0 0 0 1 1 no
TSS10020 XLOC_007801 ABC73150 1:27504093-27506154 BA BB OK 11.8553 13.3817 0.174729 1.26968 0.02755 0.107242 no
TSS10021 XLOC_007802 ABC73165 1:27508724-27508949 BA BB NOTEST 0 0 0 0 1 1 no
TSS10022 XLOC_007803 ABC73170 1:27511324-27514797 BA BB OK 0.893787 0.557083 -0.682037 -0.590335 0.33135 0.575735 -no
Patternfile.txt のファイル構造は次のとおりです。
TSS10020
TSS10056
TSS10378
TSS10708
TSS11795
私が望む出力:
TSS10020 XLOC_007801 ABC73150 1:27504093-27506154 BA BB OK 11.8553 13.3817 0.174729 1.26968 0.02755 0.107242 no
ベストアンサー1
結果で部分的に一致するのではなく、単語全体を一致させるには、オプション-w
と-f
一緒に使用する必要があります。grep
grep -wf patternfile.txt otherfile.txt > releventlinesfile.txt