Eu tenho um longo documento de comandos. Usando o Notepad ++ ou o regex, desejo excluir todas as linhas que contenham "ajuda", incluindo keyboard_help, etc.
Como isso pode ser feito?
Isso também é possível com o Notepad ++:
Marque a linha do marcador (se não houver atualização da guia Marcar para a versão atual).
Digite seu termo de pesquisa e clique em Marcar Tudo
Agora vá ao menu Pesquisar → Favoritos → Remover linhas marcadas
Feito.
cd
entrar no caminho e digitar um comando complexo (se preocupar com sintaxe e estragar permanentemente e depois perceber não há backup). [ Não me interpretem mal, eu uso os comandos do console o tempo todo para outras coisas, mas para algo assim, é apenas um exagero.] #BOOKMARK LINE
é importante aqui, caso contrário não funcionará !.Outra maneira de fazer isso no Notepad ++ é na caixa de diálogo Localizar / substituir e com regex:
Ctrl+ hpara exibir a caixa de diálogo Localizar Substituição.
Na
Find what:
caixa de texto, inclua seu regex:.*help.*\r?\n
(onde\r
é opcional caso o arquivo não tenha terminações de linha do Windows).Deixe a
Replace with:
caixa de texto em branco.Verifique se o botão de opção Expressão regular na área Modo de pesquisa está selecionado. Então clique
Replace All
e pronto! Todas as linhas que contêm seu termo de pesquisahelp
foram removidas.fonte
Tarefa fácil com
grep
:Anexe
> newFileName
para redirecionar a saída para um novo arquivo.Atualizar
Para esclarecer, o comportamento normal será imprimir as linhas na tela. Para canalizá-lo para um arquivo, o
>
pode ser usado. Assim, neste comando:grep
chama ogrep
programa, obviamente-v
é um sinalizador para inverter a saída. Por padrão,grep
imprime as linhas que correspondem ao padrão especificado. Com esse sinalizador, ele imprimirá as linhas que não correspondem ao padrão.help
é o padrão a combinarfilename
é o nome do arquivo de entrada>
redireciona a saída para o seguinte itemnewFileName
o novo arquivo onde a saída será salva.Como você deve ter notado, você não estará excluindo itens no seu arquivo.
grep
irá lê-lo e outro arquivo será salvo, modificado de acordo.fonte
grep
instalado. De qualquer forma, eu recomendo que você instale o GNU grep, ele certamente funcionará no Windows e é uma ferramenta realmente útil.>
neste caso), fornecendo um comando final degrep -v help filename > outputFileName
Você pode fazer isso usando o sed:
sed '/help/ d' < inputFile > outputFile
fonte
sed '/^help/ d'
deveria funcionar. O^
representa o início da linha.sed
egrep
Procure com uma expressão regular:
fonte
\n\n
, substitua por `` (nothing)Se você estiver no Windows , tente
findstr
. Não são necessárias ferramentas de terceiros:Ele também suporta regex! Basta ler a ajuda da ferramenta
findstr /?
.PS Se você deseja trabalhar com arquivos grandes e enormes (como arquivos de log de 400 MB), um editor de texto não economiza muito em memória; portanto, como alguém já apontou, as ferramentas de linha de comando são o caminho a seguir. Mas não há grep no Windows, então ...
Acabei de executar isso em um arquivo de log de 1 GB e levou literalmente 3 segundos.
fonte