Частичный вывод экрана командной строки в файл

Частичный вывод экрана командной строки в файл

Я пишу лог-файл для решения резервного копирования.

Решение для резервного копирования — простая команда обновления 7-zip.

Я хотел бы регистрировать, какие файлы он резервирует. Если я использую >> log.txt, я получу результат, но также много другой информации, которую выводит 7-zip, и которая мне не нужна.

Я ищу способ частичного логирования того, что на экране. Я не против использовать 7z .... >templog.txt, а затем сделать что-то с templog.txt перед добавлением его в log.txt. Но я также не знаю, как выборочно удалить строки из templog.txt из командной строки.

Итак, полагаю, мой вопрос сводится к следующему: как удалить первые 10 строк из templog.txt или, в качестве альтернативы, перенаправить только часть вывода на экран в файл журнала?

Бонусный вопрос: как выборочно удалить строки из templog.txt или перенаправления вывода, которые находятся не в начале?

решение1

Как удалить первые 10 строк из templog.txt или, в качестве альтернативы, перенаправить только часть вывода на экран в файл журнала?

Ниже приведено несколько различных способов выполнить то, о чем вы просите.пропуск строк с определенными строкамив них сFindstrили простоудалить определенные номера строксСЭДиз templog.txt, прежде чем он добавит то, что в нем находится, в полный файл журнала log.txt.


Использование FINDSTR

Это исключит строки в двойных кавычках, которые находятся в templog.txt, из добавления в log.txt.

FINDSTR /V /I "string1 string2 string3 string4" templog.log>>log.txt

Это исключит добавление регулярных выражений в двойных кавычках после каждого /C:переключателя, которые находятся в templog.txt, в log.txt, поэтому вам просто нужно будет убедиться, что у вас есть каждое регулярное выражение, которое вам нужно сопоставить для пропуска.

FINDSTR /V /R /C:"<regex1>" /C:"<regex2>" /C:"<regex3>" templog.log>>log.txt

Использование СЭД

Это удалит строки 1–10 из templog.txt, а затем после этой операции добавит остальные в log.txt.

sed -i -e "1,10d" templog.txt

Дополнительные ресурсы

решение2

PowerShell — удаление определенных строк из файла

Вы можете использовать приведенные ниже команды PowerShell, чтобы пропустить первые пять строк, используя -Skipпараметр withВыбрать объектиз содержимого файла templog.txt, а затем обновите его, указав все, за исключением пропущенных строк файла.

(Get-Content "C:\path\templog.txt" | Select-Object -Skip 5) | Set-Content "C:\path\templog.txt"

Вы можете использовать приведенные ниже команды PowerShell, используя -Skipпараметр withВыбрать объектчтобы пропустить первые пять строк файла templog.txt, а затем добавить все строки, кроме этих, в файл log.txt.

(Get-Content "C:\path\templog.txt" | Select-Object -Skip 5) | Add-Content "C:\path\log.txt"

Дополнительные ресурсы

Связанный контент