
Eu tenho um arquivo com 5,5 milhões de linhas.
Exemplo:
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
Estou interessado em manter apenas as linhas que não possuem _
na primeira coluna
A saída seria algo como:
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
Não sei quantas das minhas linhas indesejadas existem. Eu preferiria usar, awk
mas comandos bash normais também funcionam.
Responder1
awk
é mais adequado para lidar com colunas
awk '$1 !~ /_/' file
!~
permite verificar se algo não corresponde ao padrão
Comgrep
grep -v '^\S*_' file
ou, se \S
não for reconhecido,
grep -v '^[^[:space:]]*_' file