백업 솔루션에 대한 로그 파일을 작성 중입니다.
백업 솔루션은 간단한 7-zip 업데이트 명령입니다.
백업하는 파일을 기록하고 싶습니다. >> log.txt를 사용하면 결과를 얻을 수 있지만 7-zip이 출력하는 원하지 않는 다른 정보도 많이 얻을 수 있습니다.
화면에 표시된 내용을 부분적으로 기록하는 방법을 찾고 있습니다. 7z .... >templog.txt를 사용한 다음 templog.txt에 작업을 수행한 다음 log.txt에 추가해도 괜찮습니다. 하지만 명령줄에서 templog.txt의 줄을 선택적으로 제거하는 방법도 모르겠습니다.
그렇다면 내 질문은 다음과 같습니다. 어떻게 templog.txt에서 처음 10줄을 제거하거나 화면 출력의 일부만 로그 파일로 리디렉션할 수 있습니까?
보너스 질문: templog.txt에서 줄이나 시작 부분에 없는 출력 리디렉션을 선택적으로 제거하는 방법은 무엇입니까?
답변1
templog.txt에서 처음 10줄을 제거하거나 화면 출력의 일부만 로그 파일로 리디렉션하려면 어떻게 해야 합니까?
다음은 귀하가 요청한 작업을 수행하는 몇 가지 방법입니다.특정 문자열이 있는 줄 생략그들과 함께Findstr아니면 그냥특정 줄 번호 제거~와 함께SEDtemplog.txt에서 그 내용을 log.txt의 전체 로그 파일에 추가하기 전에.
FINDSTR 사용
이렇게 하면 templog.txt에 있는 큰따옴표 안의 문자열이 log.txt에 추가되지 않고 생략됩니다.
FINDSTR /V /I "string1 string2 string3 string4" templog.log>>log.txt
이렇게 하면 templog.txt에 있는 각 스위치 뒤에 있는 큰따옴표 안의 정규 표현식이 /C:
log.txt에 추가되지 않으므로 생략하기 위해 일치시켜야 하는 각 정규 표현식이 있는지 확인해야 합니다.
FINDSTR /V /R /C:"<regex1>" /C:"<regex2>" /C:"<regex3>" templog.log>>log.txt
SED 사용
이렇게 하면 templog.txt에서 1~10행이 제거되고 해당 작업 후에 나머지는 log.txt에 추가됩니다.
sed -i -e "1,10d" templog.txt
추가 리소스
답변2
PowerShell - 파일에서 특정 줄 제거
-Skip
아래 PowerShell 명령을 사용하여 매개변수를 사용하여 처음 5줄을 건너뛸 수 있습니다.선택 개체templog.txt 파일의 내용에서 생략한 파일 줄을 제외한 모든 내용으로 업데이트합니다.
(Get-Content "C:\path\templog.txt" | Select-Object -Skip 5) | Set-Content "C:\path\templog.txt"
-Skip
매개변수를 사용하여 아래 PowerShell 명령을 사용할 수 있습니다.선택 개체templog.txt의 처음 5줄을 건너뛴 다음 해당 줄을 제외한 모든 줄을 log.txt 파일에 추가합니다.
(Get-Content "C:\path\templog.txt" | Select-Object -Skip 5) | Add-Content "C:\path\log.txt"