PowerShell Tail 파일이지만 패턴과 일치하는 줄 무시

RedWizard75

Windows 환경에서 로그 파일 작업을 시도하는 Solaris 관리자. 로그 파일을 추적하려고하는데 무시하고 싶은 6 개의 반복되는 행이 있습니다. 다음과 같이 라인을 선택할 수있었습니다.

Get-Content alert.log -Tail 300 -Wait | Select-String -Pattern "WARNING: too" -Context 1,6

하지만이 '컨텍스트'줄을 무시하려고합니다. 나는 -NotMatch끝에 추가하려고 시도했지만 결국 무시하려는 줄을 인쇄합니다.

Solaris에서는 다음을 수행합니다.

tail -300f alert.log | egrep -B1 -A6 -v "WARNING: too"

나는 성공하지 않고 PowerShell에 상응하는 것을 찾으려고합니다. 하나의 일치하는 줄을 무시하는 데 성공했습니다.

Get-Content alert.log -Tail 300 | ?{$_ -notmatch 'WARNING: too'}

그러나 이것을 위와 아래 줄로 어떻게 연장합니까? 무시하고 싶은 라인 유형은 다음과 같습니다.

2020-05-20T15:32:13.870875+10:00
WARNING: too many parse errors
PARSE ERROR:
2020-05-20T15:32:13.886503+10:00
begin ORACLE PL/SQL; end;
Additional information: hd=00007FF6E4A08E68
...Current username=FRED
...Application: work3wp.exe

조치 :이 문장을 만들 수있었습니다.

Get-Content .\alert_prod.log -Tail 300 -Wait | ?{$_ -notmatch "WARNING: too|begin FRED|Additional information|Current username|Application: work3wp.exe|PARSE ERROR:" }

그러나 오류가 시작될 때마다 날짜 / 시간 스탬프가 나타납니다. 다른 오류의 날짜 / 시간 스탬프를 원합니다.

지다

PowerShell은 텍스트가 아닌 개체 지향 언어입니다. 문자열은 또 다른 개체입니다.

사용 사례에 따라 다음을 수행 할 수 있습니다. 물론 * nix에서 보여주는 것만 큼 직접적이지는 않지만, 물론 PowerShell은 * nix가 아니므로 PowerShell 방식으로 수행해야합니다.

그래서 이것이 제가 여러분이 고려할 수있는 것입니다. PowerShell에서 X 또는 Y 작업을 수행하는 방법은 항상 6 가지가 있습니다. 일부는 다른 것보다 더 우아합니다.

Get-Content -Path 'D:\temp\abc.txt'

<#
# Results

a=abcdef123
b=ngh567
c=defh123
#>


Get-Content -Path 'D:\temp\abc.txt' -Tail 3 -Wait | 
ForEach{$PSItem -notmatch 'c'}

# After adding test to the file and saving
<#
# Results


False
True
False
True
True
#>

# After adding checking to the file and saving
<#
# Results


False
True
False
True
True
True
False
#>

Get-Content -Path 'D:\temp\abc.txt' -Tail 3 -Wait | 
ForEach{Select-String -InputObject $PSItem -NotMatch 'context'}

<#
# Results


a=abcdef123
b=ngh567
c=defh123
#>

# After adding a string to the file and saving

<#
# Results

testing
#>


# After adding context to the file and saving
# no response


# after adding a new filtered string

<#
# Results

after c*text
#>

# after adding 3 lines including 1 filtered string and saving

<#
# Results

blank line before c*text
line after c*text
#>

# What's in the file now
Get-Content -Path 'D:\temp\abc.txt'

<#
# Results

a=abcdef123
b=ngh567
c=defh123
testing
context
after c*text
blank line before c*text
context
line after c*text
#>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다음 줄이 다른 패턴과 일치하지 않는 경우 패턴과 일치하는 줄 제거

분류에서Dev

grep 패턴과 결과 일치하는 줄을 같은 줄에 인쇄하는 방법은 무엇입니까?

분류에서Dev

첫 번째 줄이 특정 패턴과 일치하는 경우에만 파일 내용을 인쇄하는 방법은 무엇입니까?

분류에서Dev

grep-두 파일을 일치시킬 때 패턴과 일치하는 줄을 반환하는 방법은 무엇입니까?

분류에서Dev

grep에서 찾은 줄의 일부만 표시 (패턴과 일치하는 부분 제외)

분류에서Dev

sed에서 여러 패턴과 일치하는 줄만 대체하는 방법은 무엇입니까?

분류에서Dev

linux one liner, 패턴과 일치하는 파일 이름 표시

분류에서Dev

시작과 끝 패턴 사이에 줄을 그어 다음 파일의 끝 패턴까지

분류에서Dev

sed와 패턴과 일치하지 않는 모든 줄 삭제

분류에서Dev

패턴과 일치하지 않는 모든 줄 삭제

분류에서Dev

패턴 목록과 일치하지 않는 줄을 찾는 방법은 무엇입니까?

분류에서Dev

패턴과 일치하는 파일 이름 및 줄 번호 인쇄

분류에서Dev

패턴의 이전 두 줄과 일치하는 Java 정규식

분류에서Dev

줄의 시작 또는 공백이 앞에있을 때 패턴과 일치하는 Python 정규식

분류에서Dev

파일의 패턴과 일치하는 줄을 빈 줄로 바꿉니다.

분류에서Dev

일치하는 줄과 다른 패턴과 일치하는 가장 가까운 선행 줄을 표시합니다.

분류에서Dev

반복되는 경우 패턴과 일치하는 줄 삭제

분류에서Dev

패턴과 일치하는 줄을 찾아 삭제하는 방법은 무엇입니까?

분류에서Dev

패턴과 일치하는 줄을 이전 줄에 추가하는 방법

분류에서Dev

다른 패턴과 일치하는 줄에서 단어 추출

분류에서Dev

다른 줄에있는 패턴과 일치하는 파일 찾기

분류에서Dev

iOS NSRegularExpression HEAD (. *) TAIL과 같은 패턴의 첫 번째 일치하는 "TAIL"을 찾는 방법

분류에서Dev

마지막 패턴 일치까지 내 패턴과 일치하는 모든 줄을 인쇄합니다.

분류에서Dev

다른 파일에서 특정 패턴과 일치하는 줄 제거

분류에서Dev

파일에서 패턴과 일치하는 줄 선택 및 제거

분류에서Dev

StringA를 포함하는 모든 줄과 일치하지만 StringB도 포함하는 줄은 무시합니다.

분류에서Dev

Powershell 여러 줄 패턴 일치 및 해당 줄 선택

분류에서Dev

sed \ awk를 사용하여 파일 내에서 특정 줄을 찾은 다음 다른 패턴과 일치하는 모든 후속 줄을 일치시키는 방법은 무엇입니까?

분류에서Dev

모든 줄을 인쇄하지만 패턴과 일치하는 연속 된 줄을 연결합니다.

Related 관련 기사

  1. 1

    다음 줄이 다른 패턴과 일치하지 않는 경우 패턴과 일치하는 줄 제거

  2. 2

    grep 패턴과 결과 일치하는 줄을 같은 줄에 인쇄하는 방법은 무엇입니까?

  3. 3

    첫 번째 줄이 특정 패턴과 일치하는 경우에만 파일 내용을 인쇄하는 방법은 무엇입니까?

  4. 4

    grep-두 파일을 일치시킬 때 패턴과 일치하는 줄을 반환하는 방법은 무엇입니까?

  5. 5

    grep에서 찾은 줄의 일부만 표시 (패턴과 일치하는 부분 제외)

  6. 6

    sed에서 여러 패턴과 일치하는 줄만 대체하는 방법은 무엇입니까?

  7. 7

    linux one liner, 패턴과 일치하는 파일 이름 표시

  8. 8

    시작과 끝 패턴 사이에 줄을 그어 다음 파일의 끝 패턴까지

  9. 9

    sed와 패턴과 일치하지 않는 모든 줄 삭제

  10. 10

    패턴과 일치하지 않는 모든 줄 삭제

  11. 11

    패턴 목록과 일치하지 않는 줄을 찾는 방법은 무엇입니까?

  12. 12

    패턴과 일치하는 파일 이름 및 줄 번호 인쇄

  13. 13

    패턴의 이전 두 줄과 일치하는 Java 정규식

  14. 14

    줄의 시작 또는 공백이 앞에있을 때 패턴과 일치하는 Python 정규식

  15. 15

    파일의 패턴과 일치하는 줄을 빈 줄로 바꿉니다.

  16. 16

    일치하는 줄과 다른 패턴과 일치하는 가장 가까운 선행 줄을 표시합니다.

  17. 17

    반복되는 경우 패턴과 일치하는 줄 삭제

  18. 18

    패턴과 일치하는 줄을 찾아 삭제하는 방법은 무엇입니까?

  19. 19

    패턴과 일치하는 줄을 이전 줄에 추가하는 방법

  20. 20

    다른 패턴과 일치하는 줄에서 단어 추출

  21. 21

    다른 줄에있는 패턴과 일치하는 파일 찾기

  22. 22

    iOS NSRegularExpression HEAD (. *) TAIL과 같은 패턴의 첫 번째 일치하는 "TAIL"을 찾는 방법

  23. 23

    마지막 패턴 일치까지 내 패턴과 일치하는 모든 줄을 인쇄합니다.

  24. 24

    다른 파일에서 특정 패턴과 일치하는 줄 제거

  25. 25

    파일에서 패턴과 일치하는 줄 선택 및 제거

  26. 26

    StringA를 포함하는 모든 줄과 일치하지만 StringB도 포함하는 줄은 무시합니다.

  27. 27

    Powershell 여러 줄 패턴 일치 및 해당 줄 선택

  28. 28

    sed \ awk를 사용하여 파일 내에서 특정 줄을 찾은 다음 다른 패턴과 일치하는 모든 후속 줄을 일치시키는 방법은 무엇입니까?

  29. 29

    모든 줄을 인쇄하지만 패턴과 일치하는 연속 된 줄을 연결합니다.

뜨겁다태그

보관