Como excluir texto após a terceira linha em vários arquivos

1

Estou procurando uma maneira de excluir linhas em arquivos de texto depois de uma linha específica.

por exemplo, um arquivo contém 5 linhas. Eu quero excluir linhas após a terceira linha. veja,

  • Linha 1
  • Linha 2
  • Linha 3
  • xxxxxx
  • xxxxxx1

aqui, quero manter as 3 primeiras linhas (linha 1, linha 2, linha 3) e excluir as duas linhas restantes (xxxxxx, xxxxxx1) e salvar automaticamente esse arquivo de texto. Eu quero fazer isso para vários arquivos de texto. Deseja excluir todas as linhas após a terceira linha em todos os arquivos de texto dentro de uma pasta.

Qualquer maneira de fazer isso usando o notepad ++ ?? Agradecemos antecipadamente

    
por user3548321 22.04.2016 / 05:56

2 respostas

2

Esta parece ser uma operação de texto bastante padrão para várias ferramentas do Linux (não importa a incorreção técnica), sendo o GNU sed uma delas. Até o Bash / Ubuntu aparecer no Windows 10, você pode usar algo como git bash que testei para trabalhar com o comando abaixo.

sed -i '4,$d' *

Excluir todas as linhas a partir da quarta linha em todos os arquivos do diretório em que você está.

    
por 22.04.2016 / 08:49
1

Isso pode ser feito sem instalar o software, mas sim criar um script em lote simples. Aqui está um script que fará o que você quer:

@echo off > NEWFILE & setLocal enableDELAYedeXpansioN
set/p D=delete all after what line?
set N=
:main
for /f "tokens=* delims= " %%a in (file.txt) do (
set/a N+=1
if !N! leq !D! echo.%%a
) >> NEWFILE

Em que file.txt é o arquivo real. Quando você executar esse script, ele perguntará qual linha excluir depois, simplesmente diga 3 . Copie o código acima e cole-o em um arquivo .bat .

    
por 23.04.2016 / 23:12