notepad ++ cancella tutte le righe nei file tranne la linea specifica


1

Devo cancellare tutte le linee da circa 30000 file e lasciare solo una linea specifica (numero 272). Il contenuto della riga è diverso per ogni file (stringa di numeri). Ho passato un po 'di tempo su questo ora e non vedo alcuna funzionalità che mi consenta di farlo. Ci sono dei plugin che potrebbero aiutare?


4
Notepad ++ probabilmente non è lo strumento giusto per questo. Uno script PowerShell sarebbe più facile. Si spera che un esperto di PowerShell arrivi e dia qualche suggerimento.
DavidPostill

stackoverflow.com/questions/744094/... questo potrebbe essere abbastanza per farti andare.
kazoni

Risposte:


-1

Come suggerisce @DavidPostill, Notepad ++ non è lo strumento per fare questo lavoro.

Invece, suggerirei (come ha fatto) di usare un linguaggio di scripting di qualche tipo per scorrere i file, quindi scorrere le righe e salvare la singola linea desiderata in un nuovo file.

Ecco uno script di PowerShell che lo farà:

# 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
        }
    }
}

Questa non è una risposta alla domanda su come usare Notepad ++
SteveC

1
@SteveC Questo perché Notepad ++ non può farlo. Se riesci a capire un modo, per favore sentiti libero di tornare e aggiungere una risposta.
Ƭᴇcʜιᴇ007

-1

potresti anche unire gli strumenti (con cygwin) per elaborare un file

head -n 272 file | coda -1 & gt; file

Puoi anche scrivere uno script python e usarlo nel plugin npp http://npppythonscript.sourceforge.net/

Sono possibili molte soluzioni


Questa non è una risposta alla domanda su come usare Notepad ++
SteveC

1
Sì, lo è: puoi scrivere uno script python e usarlo nel plugin di script npp python sito web . È un ottimo plugin, lo uso tutti i giorni.
Christophe Meriaux

Sì, ma in realtà non hai risposto alla domanda ... il primo suggerimento riguarda l'utilizzo di strumenti diversi, il secondo non è una risposta reale, ma solo che dice alla persona di fare "qualcosa". Dai un vero script Python e voterei per la tua risposta
SteveC
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.