Salida parcial de la pantalla de línea de comando al archivo

Salida parcial de la pantalla de línea de comando al archivo

Estoy escribiendo un archivo de registro para una solución de respaldo.

La solución de respaldo es un simple comando de actualización de 7 zip.

Me gustaría registrar qué archivos respalda. Si uso >> log.txt obtendré el resultado, pero también mucha otra información que genera 7-zip y que no quiero.

Estoy buscando una manera de registrar parcialmente lo que hay en la pantalla. No me importa usar 7z .... >templog.txt y luego hacer algo en templog.txt antes de agregarlo a log.txt. Pero tampoco sé cómo eliminar líneas de templog.txt de forma selectiva desde la línea de comandos.

Entonces, supongo que mi pregunta se reduce: ¿Cómo puedo eliminar las primeras 10 líneas de templog.txt o, alternativamente, solo redirigir parte de la salida en pantalla a un archivo de registro?

Pregunta adicional: ¿Cómo eliminar selectivamente líneas de templog.txt o la redirección de salida que no están al principio?

Respuesta1

¿Cómo puedo eliminar las primeras 10 líneas de templog.txt o, alternativamente, solo redirigir parte de la salida en pantalla a un archivo de registro?

A continuación se muestran un par de formas diferentes de lograr lo que pides.omitiendo líneas con ciertas cadenasen ellos conBuscartro simplementeeliminar números de línea específicosconSEDdesde templog.txt antes de agregar lo que contiene al archivo de registro completo de log.txt.


Usando FINDSTR

Esto omitirá las cadenas entre comillas dobles que están en templog.txt para que no se agreguen a log.txt.

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

Esto omitirá las expresiones regulares entre comillas dobles después de cada /C:cambio que están en templog.txt para que no se agreguen a log.txt, por lo que solo deberá asegurarse de tener cada expresión regular que deba coincidir para omitir.

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

Usando SED

Esto eliminará las líneas 1 a 10 de templog.txt y luego de esa operación agregará el resto a log.txt.

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

Recursos adicionales

Respuesta2

PowerShell: eliminar líneas específicas de un archivo

Puede usar los siguientes comandos de PowerShell para omitir las primeras cinco líneas usando el -Skipparámetro conSeleccionar objetodel contenido del archivo templog.txt y luego actualícelo con todo excepto las líneas del archivo omitidas para omitir.

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

Puede utilizar los siguientes comandos de PowerShell utilizando el -Skipparámetro conSeleccionar objetopara omitir las primeras cinco líneas del templog.txt y luego agregar todas menos esas líneas al archivo log.txt.

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

Recursos adicionales

información relacionada