minhas informações de contato
Correspondência[email protected]
2024-07-06
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
existiradb shell logcat
Combinado no comandogrep
Ao filtrar logs, se quiser combinar duas substrings ao mesmo tempo, você pode usar um canal (|
) serão doisgrep
comando para concatenar ou usargrep
de-E
(ouegrep
, o que equivale a-E
) para oferecer suporte a expressões regulares estendidas, para que você possa usar OR lógico (|
) para corresponder a vários padrões.
grep
OrdemNeste método, o primeirogrep
O comando filtra as linhas que contêm a primeira substring e depois a segundagrep
O comando então filtra as linhas que contêm a segunda substring dessas linhas.
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
grep
de-E
OpçõesEssa abordagem é mais concisa porque permite usar umgrep
Vários modos são especificados no comando ao mesmo tempo.
bash复制代码
adb shell logcat -b all | grep -E '子串1|子串2' |
Observe, entretanto, que o comando acima irá, na verdade, corresponder às linhas que contêm "substring 1" ou "substring 2", e não ambas. Se você quiser combinar duas substrings ao mesmo tempo, você deve escrever:
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
Ou usegrep
de-z
(Nota: Este não é um padrãogrep
parte, mas algumas versões degrep
ouzgrep
suporte) ouawk
Aguarde que outras ferramentas lidem com a correspondência multilinha (isso geralmente é mais complexo e não é necessário para cenários simples).
No entanto, se você realmente precisa combinar duas substrings em uma expressão regular (e as duas substrings podem aparecer em qualquer lugar na mesma linha), você pode usar o análogo do AND lógico (embora na verdade você use OR lógico|
, mas garantindo que ambas as substrings apareçam no padrão):
bash复制代码
adb shell logcat -b all | grep -E '子串1.*子串2|子串2.*子串1' |
Este comando corresponderá à situação em que "substring 1" aparece primeiro e depois "substring 2" aparece na mesma linha, ou "substring 2" aparece primeiro e depois "substring 1". Observe que esse padrão não exige estritamente que as duas substrings sejam imediatamente adjacentes uma à outra; pode haver qualquer número de caracteres entre elas;Se precisar deles um ao lado do outro, você pode remover o do meio.*
。