550 万行のファイルがあります。
例:
chr1 10000 10468 + (TAACCC)n Simple_repeat Simple_repeat
chr1 10468 11447 - TAR1 Satellite telo
chr1 11504 11675 - L1MC5a LINE L1
chr1 11677 11780 - MER5B DNA hAT-Charlie
chr10_GL383545v1_alt 11877 11980 - Alu ERV1
chr11_BL383595v1_alt 12077 12980 - Alu ERV1
chr3 11504 11675 - L1MC5a LINE L1
_
最初の列にない行だけを残したい
出力は次のようになります。
chr1 10000 10468 + (TAACCC)n Simple_repeat Simple_repeat
chr1 10468 11447 - TAR1 Satellite telo
chr1 11504 11675 - L1MC5a LINE L1
chr1 11677 11780 - MER5B DNA hAT-Charlie
chr3 11504 11675 - L1MC5a LINE L1
不要な行がいくつ存在するかわかりません。 できれば使用したいのですawk
が、通常の bash コマンドでも問題ありません。
答え1
awk
列を扱うのに最適
awk '$1 !~ /_/' file
!~
パターンに一致しないものがあるかどうかをチェックできます
とgrep
grep -v '^\S*_' file
または、\S
認識されない場合、
grep -v '^[^[:space:]]*_' file