notepad ++ excluir todas as linhas em arquivos, exceto linha específica

1

Eu preciso excluir todas as linhas de cerca de 30000 arquivos e deixar apenas uma linha específica (número 272). O conteúdo da linha é diferente para cada arquivo (string de números). Eu passei bastante tempo com isso agora e não consigo ver nenhuma funcionalidade que me permita fazer isso. Existe algum plug-in que possa ajudar?

    
por Maxim Adams 21.04.2016 / 22:13

2 respostas

-1

Como o @DavidPostill sugere, o Notepad ++ não é a ferramenta para fazer este trabalho.

Em vez disso, eu sugiro (como ele fez) que você use uma linguagem de script de algum tipo para iterar os arquivos, depois percorra as linhas e salve a única linha desejada em um novo arquivo.

Aqui está um script do PowerShell que fará isso:

# Set by user to their needs.
$filesToCheck = "c:\pathToFiles\*.txt"
$lineToKeep = 272

# Gather list of files based on the path (and mask) provided by user.
$files = gci $filesToCheck

# Iterate over each file.
foreach ($file in $files) {

    # Load the content of the current file.
    $contents = Get-Content $file

    # Iterate over each line in the current file.
    for ($i = 0; $i -le ($contents.Length - 1); $i++) {

        # Are we on the line that the user wants to keep?
        if ($i -eq ($lineToKeep - 1)) {

            # Create a new file to hold the line.
            $newName = "$($file.Basename)-New.txt"
            # Write the current line to the file.
            $contents[$i] | Out-File $newName
        }
    }
}
    
por 21.04.2016 / 23:14
-1

você também pode usar ferramentas unix (com o cygwin) para processar um arquivo

head -n 272 arquivo | cauda -1 > arquivo

Você também pode escrever um script python e usá-lo no link

do plugin npp

Muitas soluções são possíveis

    
por 21.04.2016 / 23:41

Tags