ファイルをサブセットに分割して正しい染色体を取得します。

ファイルをサブセットに分割して正しい染色体を取得します。

次の内容を含む入力ファイルがあります。

chr1    12227   12612
chr1_ett    12721   13220
chr1    14829   14969
chr2    15038   15795
chr2_tdr    15947   16606
chr1    16765   16857
chr1    17055   17232
chr1    17368   17605
chr3    17742   17914
chr3_urr    18061   18267

"_"最初の列に(下線)がある行を削除したいと思います。したがって、基本的にchr1、chr2、chr3のみが維持され、chr1_chr2_chr3_などの染色体はchr1からchr22まで維持されず、chrX、chrY、chrMも維持される。

私は何をすべきですか?

ありがとう

ベストアンサー1

努力する

awk '$1 !~ /_/' input_file.txt > output.txt

$1(最初の列)に含まれていないすべての行が選択されます。_

またはGlenn Jackmanが提案したように

awk '! index($1,"_") ' input_file.txt > output.txt

別の方法は

sed -i -e '/^chr[0-9]*_/d' file.txt

これにより、同じ行が削除されます。 (行が正確に始まる場合chr

おすすめ記事