Como apagar todas as linhas que contenham uma palavra com TextWrangler?

4

Eu tenho um arquivo gigante com milhares de linhas, eu quero excluir apenas as linhas que têm a palavra "Foo" nelas.

Como eu vou fazer isso? Eu estou em um Mac, então eu poderia usar algum utilitário de linha de comando, mas eu prefiro usar o TextWrangler.

    
por Zee 12.07.2010 / 19:23

7 respostas

1

A maioria dos editores de programadores gráficos não permite que você apague linhas como esta, mas apenas altere seu conteúdo. Isso pode ser feito substituindo ^.*Foo.*$ por nada.

Se você estiver disposto a procurar uma ferramenta externa, isso pode ser feito filtrando sed "/Foo/d" .

    
por 12.07.2010 / 19:30
17

No TextWrangler: Texto > Linhas de processo contendo…

    
por 31.05.2012 / 04:25
1

Use uma expressão regular para encontrar as linhas e substitua-as por uma string vazia.

Veja uma página que explica como construir a expressão regular:

link

Para fazer isso no TextWrangler:

  1. Escolha Encontrar no menu Pesquisar.
  2. Marque a caixa de seleção Grep .
  3. Insira a expressão regular na caixa de texto Localizar:
  4. Selecione Próximo.
por 12.07.2010 / 19:26
1

Uma linha de comando rápida para isso é:

grep -v myword myfile > newfile
    
por 13.07.2010 / 04:41
0

Se você procurar e substituir ^.*Foo.*\r por nada (com "Use Grep" habilitado), ele irá se livrar completamente das linhas com "Foo", não apenas apagá-las. O único limite é que não funcionará na última linha do arquivo. (Substituir \r.*Foo.*$ por nada funcionaria na última linha, mas não no primeiro.)

    
por 12.07.2010 / 22:09
0

Esta linha de comando perl fará o truque!

perl -ni -e "print unless /Foo/" large_file.txt

você também pode fazer vários arquivos:

perl -ni -e "print unless /Foo/" *.txt
    
por 22.08.2013 / 16:18
0

Bare Bones TextWrangler link

Menu de texto Linhas de Processo Contendo… Item de Menu

Digite o texto a ser excluído Em seguida, escolha excluir linhas

Confirme

    
por 10.09.2014 / 02:55