Мне нужно удалить все строки из примерно 30000 файлов и оставить только определенную строку (номер 272). Содержание строки отличается для каждого файла (строка чисел). Я потратил довольно много времени на это сейчас и не вижу никакой функциональности, которая позволила бы мне сделать это. Есть ли плагины, которые могут помочь?
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/
Много решений возможно