Tela de linha de comando de saída parcial para arquivo

4

Estou escrevendo um arquivo de log para uma solução de backup.

A solução de backup é um simples comando de atualização 7-zip.

Gostaria de registrar quais arquivos são backups. Se eu uso > > log.txt vou obter o resultado, mas também muitas outras informações que saídas 7-zip que eu não quero.

Estou procurando uma maneira de registrar parcialmente o que está na tela. Eu não me importo de usar o 7z .... > templog.txt e depois fazer algo com o templog.txt antes de anexá-lo ao log.txt. Mas também não sei como remover seletivamente as linhas do templog.txt da linha de comando.

Então eu acho que a minha pergunta se resume: Como posso remover as primeiras 10 linhas do templog.txt ou alternativamente redirecionar apenas parte da saída na tela para um arquivo de log?

Pergunta bônus: Como remover seletivamente as linhas de templog.txt ou o redirecionamento de saída que não estão no começo?

    
por LPChip 01.09.2016 / 14:02

2 respostas

2

How can I remove the first 10 lines from templog.txt or alternatively only redirect part of the output on screen to a logfile?

Abaixo estão algumas maneiras diferentes de realizar o que você pede para omitir linhas com determinadas strings nelas com Findstr ou então apenas remover números de linha específicos com SED de templog.txt antes de anexar o conteúdo do arquivo de log completo do log.txt.

Usando o FINDSTR

Isto irá omitir as strings nas aspas duplas que estão em templog.txt de serem anexadas ao log.txt

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

Isto irá omitir as expressões regulares nas aspas duplas após cada /C: comutadores que estão em templog.txt de ser anexado ao log.txt, então você teria que ter certeza de ter cada expressão regular que você precisa corresponder para omitir.

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

Usando o SED

Isto removerá as linhas 1 - 10 de templog.txt e depois da operação anexará o resto ao log.txt

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

Mais recursos

por 01.09.2016 / 16:05
1

PowerShell - Remover linhas específicas de um arquivo

Você pode usar os comandos do PowerShell abaixo para pular as cinco primeiras linhas usando o parâmetro -Skip com Select- Objeto do conteúdo do arquivo templog.txt e, em seguida, atualize-o com tudo, exceto as linhas de arquivo ignoradas para omitir.

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

Você pode usar os comandos abaixo do PowerShell usando o parâmetro -Skip com Select-Object para pule as cinco primeiras linhas do templog.txt e, em seguida, anexe todas as linhas, exceto aquelas, no arquivo log.txt.

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

Mais recursos

por 01.09.2016 / 18:05