내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-06
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
존재하다adb shell logcat
명령에 결합됨grep
로그를 필터링할 때 두 개의 하위 문자열을 동시에 일치시키려면 파이프(|
) 두 개grep
연결하거나 사용하는 명령grep
~의-E
(또는egrep
, 이는 다음과 같습니다.-E
) 옵션을 사용하여 확장 정규식을 지원하므로 논리적 OR(|
) 여러 패턴을 일치시킵니다.
grep
주문하다이 방법에서는 첫 번째grep
명령은 첫 번째 하위 문자열을 포함하는 행을 필터링한 다음 두 번째 하위 문자열을 필터링합니다.grep
그런 다음 명령은 이러한 줄에서 두 번째 부분 문자열을 포함하는 줄을 필터링합니다.
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
grep
~의-E
옵션이 접근 방식은 다음을 사용할 수 있으므로 더 간결합니다.grep
명령에 여러 모드가 동시에 지정됩니다.
bash复制代码
adb shell logcat -b all | grep -E '子串1|子串2' |
그러나 위 명령은 실제로 "하위 문자열 1" 또는 "하위 문자열 2"를 포함하는 행과 일치하지만 둘 다 포함하는 것은 아닙니다. 두 개의 하위 문자열을 동시에 일치시키려면 다음과 같이 작성해야 합니다.
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
또는 사용grep
~의-z
(참고: 이는 표준이 아닙니다.grep
일부이지만 일부 버전은grep
또는zgrep
지원) 또는awk
다른 도구가 여러 줄 일치를 처리할 때까지 기다립니다. 이는 일반적으로 더 복잡하고 간단한 시나리오에는 필요하지 않습니다.
그러나 정규식에서 두 하위 문자열을 일치시켜야 하는 경우(그리고 두 하위 문자열이 같은 줄의 어느 위치에나 나타날 수 있음) 논리적 AND와 유사한 방식을 사용할 수 있습니다(실제로는 논리적 OR을 사용하지만).|
, 그러나 두 하위 문자열이 모두 패턴에 나타나는지 확인하여):
bash复制代码
adb shell logcat -b all | grep -E '子串1.*子串2|子串2.*子串1' |
이 명령은 "하위 문자열 1"이 먼저 나타난 다음 "하위 문자열 2"가 같은 줄에 나타나는 상황이나 "하위 문자열 2"가 먼저 나타난 다음 "하위 문자열 1"이 나타나는 상황과 일치합니다. 이 패턴에서는 두 하위 문자열이 서로 바로 인접해야 한다고 엄격히 요구하지는 않습니다. 두 하위 문자열 사이에 임의의 수의 문자가 있을 수 있습니다.서로 바로 옆에 필요한 경우 가운데 것을 제거할 수 있습니다..*
。