1

Мне нужно удалить все строки из примерно 30000 файлов и оставить только определенную строку (номер 272). Содержание строки отличается для каждого файла (строка чисел). Я потратил довольно много времени на это сейчас и не вижу никакой функциональности, которая позволила бы мне сделать это. Есть ли плагины, которые могут помочь?

2 ответа2

-1

Как предполагает @DavidPostill, Notepad++ не является инструментом для выполнения этой работы.

Вместо этого я бы предложил (как он это сделал), чтобы вы использовали какой-либо язык сценариев для итерации по файлам, затем итерации по строкам и сохранения единственной требуемой строки в новом файле.

Вот скрипт PowerShell, который сделает это:

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

Вы также можете использовать инструменты Unix (с Cygwin) для обработки одного файла.

head -n 272 file | хвост -1> файл

Вы также можете написать скрипт на Python и использовать его в плагине npp http://npppythonscript.sourceforge.net/

Много решений возможно

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .