Isso deve funcionar para você
cat file.txt | sed 's/\([0-9]\)_[0-9]\+\t/\t/'
Procure por um dígito (nomeado como \ 1) seguido por um sublinhado seguido por um ou mais dígitos seguidos por uma tabulação e substitua por named \ 1 e uma tabulação
Eu tenho um arquivo que se parece com:
>TCONS_00000066_1 [3 - 170]
>TCONS_00000066_2 [174 - 206]
>TCONS_00000066_3 [2 - 223]
>TCONS_00000066_4 [210 - 281]
>TCONS_00000066_5 [227 - 316]
>TCONS_00000066_6 [1 - 324]
>TCONS_00000066_7 [285 - 338]
>TCONS_00000066_8 [335 - 373]
>TCONS_00000066_9 [342 - 377]
>TCONS_00000066_10 [328 - 465]
>TCONS_00000066_11 [377 - 487]
>TCONS_00000066_12 [469 - 546]
>TCONS_00000066_13 [390 - 551]
>TCONS_00000066_14 [518 - 556]
>TCONS_00000066_15 [537 - 490]
>TCONS_00006042_1 [9 - 62]
>TCONS_00006042_2 [87 - 146]
>TCONS_00006042_3 [150 - 203]
>TCONS_00006042_4 [2 - 220]
>TCONS_00006042_5 [1 - 255]
O arquivo é delimitado por tabulações. Eu quero remover apenas o _1
e _2
.... após cada >TCONS_0000****
. O restante de todas as colunas estará lá como está.
Como:
>TCONS_00000066 [3 - 170]
>TCONS_00000066 [174 - 206]
>TCONS_00000066 [2 - 223]
>TCONS_00000066 [210 - 281]
>TCONS_00000066 [227 - 316]
>TCONS_00000066 [1 - 324]
>TCONS_00000066 [285 - 338]
>TCONS_00000066 [335 - 373]
Nota: cada >TCONS_*
contém 8 dígitos, como >TCONS_00000066"..."
, >TCONS_00987652"
Isso deve funcionar para você
cat file.txt | sed 's/\([0-9]\)_[0-9]\+\t/\t/'
Procure por um dígito (nomeado como \ 1) seguido por um sublinhado seguido por um ou mais dígitos seguidos por uma tabulação e substitua por named \ 1 e uma tabulação
Usando o Awk:
awk -F'[_ ]' '{$3=""}1' file > newfile
Tags text-processing