Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

1. Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Natália Barth
Nbarth

(usa Outra)

Enviado em 30/12/2016 - 23:06h

Oi Pessoal tudo bem?

Tenho um arquivo de texto enoooorme com muitas bases de DNA e preciso retirar os milhões de letras "n" que constam no arquivo.

Usei este comando (sed "s/palavra_que_vc_quer_retirar//g" arquivo.txt > arquivomodificado.txt) que achei em outro tópico daqui que funcionou perfeitamente, péorm o texto ficou com os espaços em branco enormes onde antes continham letra "n".

Tem como "aprimorar" esse comando e fazer os espaços em branco desaparecerem junto com esses malditos "n"???

Por favor me ajudem!!!

Obrigada!


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/12/2016 - 01:36h

Nbarth escreveu:

Gente muito obrigada, vcs são demais!
Tanto o comando do Mauriciodez quanto o do ru4n funcionaram perfeitamente!
A diferença é que o primeiro modifica o próprio arquivo e o segundo cria um arquivo novo.

Salvaram minha vida!!! Obrigadão e boa virada de ano pra vcs!!!


não tem diferença dos comandos ... o q eu mandei e o q o ruan mandou fazem a mesma coisa basta q vc implemente a saída para outro arquivo neles

esses comandos só mostram no terminal as mudanças
sed 's/n*$//g;/^$/d' arquivo_original 

sed '/^n/d' arquivo_original 


esses comandos com o parametro '-i' alteram o arquivo
sed -i 's/n*$//g;/^$/d' arquivo_original 

sed -i '/^n/d' arquivo_original 


já esses comandos fazem as mudanças mas jogam elas para um novo arquivo
sed 's/n*$//g;/^$/d' arquivo_original > arquivo_novo 

sed '/^n/d' arquivo_original >  arquivo_novo 


entendeu + ou menos como funciona a coisa ????

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

3. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 30/12/2016 - 23:21h

Nbarth escreveu:

Oi Pessoal tudo bem?

Tenho um arquivo de texto enoooorme com muitas bases de DNA e preciso retirar os milhões de letras "n" que constam no arquivo.

Usei este comando (sed "s/palavra_que_vc_quer_retirar//g" arquivo.txt > arquivomodificado.txt) que achei em outro tópico daqui que funcionou perfeitamente, péorm o texto ficou com os espaços em branco enormes onde antes continham letra "n".

Tem como "aprimorar" esse comando e fazer os espaços em branco desaparecerem junto com esses malditos "n"???

Por favor me ajudem!!!

Obrigada!


a princípio teria q avaliar como está esse seu texto ... ma supondo que essas letras 'n' estejam com 1 espaço na frente e outro espaço atrás e vc queira deixar 1 único espaço simples seria assim
sed 's/\ n//g' nome-do-arquivo 


se não for isso que vc precisa vc vai ter que mandar um trecho pra gente ver certinho do q vc precisa !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


4. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Natália Barth
Nbarth

(usa Outra)

Enviado em 30/12/2016 - 23:47h

O arquivo é mais ou menos assim:

>scaffold_0
GCCCACGCCACTTCTGACGCAGCCCGAAGCAGTCAATTTGTTGCTGCAGGAGGCGATTGAGACTTTCAAATACCTCGGGG
TTGAGCTTTTTGCGCGCTTTGCAGAAGGCCTGCGCAGTGACCATTTGCGTCTCAGTCGACGCCTGATAGAGTACGCGATA
GAACTGATCGAGTTCGGTTTGCAGGGCCGTGCGCGGCTGATTGAGCAGGAACAGGACGAGGTTCTTGAAGGTGAGCTGGC
GTCGGCGGGGAAAGTCTTGAGGATTCTGGCGGGGGGCGGCGATGAAGGCGGGACAATCGAGCGGACTGGTTATTTTTTGT
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

Só que multiplica as linhas com letras maiusculas por 300x e as com "n" por 200x.
É humanamente impossível selecionar todos os "n" e deletar manualmente, por isso precisava muito de um comando que fizesse isso.
O comando que postei ali antes tirou os "n", mas deixou o espaço em branco gigantesco onde eles estavam...

Obrigada!!!




5. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/12/2016 - 00:07h

Nbarth escreveu:
Obrigada!!!


deixa eu te perguntar ... esses 'n' todos são consecutivos e sempre iniciam uma linha ???
Alguma outra linha inicia por 'n' minúsculo ??
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


6. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/12/2016 - 00:09h

Bom, com o exemplo que você postou consegui com a seguinte expressão:
s/n*$//g;/^$/d 

No primeiro bloco (s/n*$//g) o sed remove o primeiro n e os seguintes (g) até o final da linha ($). No segundo bloco (/^$/d), o sed remove as linhas em branco deixadas pelo n.
--
Linux Counter: #596371


7. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Natália Barth
Nbarth

(usa Outra)

Enviado em 31/12/2016 - 00:15h

Mauriciodez escreveu:

Nbarth escreveu:
Obrigada!!!


deixa eu te perguntar ... esses 'n' todos são consecutivos e sempre iniciam uma linha ???
Alguma outra linha inicia por 'n' minúsculo ??
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"



São sempre minusculos e quando eles aparecem são em uma nova linha, mas que se repete inumeras vezes.



8. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Natália Barth
Nbarth

(usa Outra)

Enviado em 31/12/2016 - 00:17h

ru4n escreveu:

Bom, com o exemplo que você postou consegui com a seguinte expressão:
s/n*$//g;/^$/d 

No primeiro bloco (s/n*$//g) o sed remove o primeiro n e os seguintes (g) até o final da linha ($). No segundo bloco (/^$/d), o sed remove as linhas em branco deixadas pelo n.
--
Linux Counter: #596371


Desculpa a burrice, mas onde coloco o nome do arquivo e o nome do novo arquivo que será criado nesse comando?




9. Re: Remover palavra de um texto sem deixar espaço em branco

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/12/2016 - 00:18h

Nbarth escreveu:
São sempre minusculos e quando eles aparecem são em uma nova linha, mas que se repete inumeras vezes.


então tá fácil

para ver como vai ficar vc usa esse
sed '/^n/d' nome-do-arquivo 


para modificar o arquivo vc colocar o parâmetro '-i'
sed -i '/^n/d' nome-do-arquivo 


ele apaga todas as linhas q começam com 'n' !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


10. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/12/2016 - 00:20h

Desculpa a burrice, mas onde coloco o nome do arquivo e o nome do novo arquivo que será criado nesse comando?


O comando completo ficaria:
sed 's/n*$//g;/^$/d' arquivo_original > arquivo_novo 

--
Linux Counter: #596371


11. FUNCIONOU!

Natália Barth
Nbarth

(usa Outra)

Enviado em 31/12/2016 - 00:51h

Gente muito obrigada, vcs são demais!
Tanto o comando do Mauriciodez quanto o do ru4n funcionaram perfeitamente!
A diferença é que o primeiro modifica o próprio arquivo e o segundo cria um arquivo novo.

Salvaram minha vida!!! Obrigadão e boa virada de ano pra vcs!!!


12. Re: Remover palavra de um texto sem deixar espaço em branco [RESOLVIDO]

Natália Barth
Nbarth

(usa Outra)

Enviado em 31/12/2016 - 02:00h

Sim! Muito obrigada pela ajuda e pela baita aula!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts