моя контактная информация
Почтамезофия@protonmail.com
2024-07-06
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
существоватьadb shell logcat
Объединенный в командуgrep
Если при фильтрации журналов вы хотите сопоставить две подстроки одновременно, вы можете использовать канал (|
) будет дваgrep
команда для объединения или использованияgrep
из-E
(илиegrep
, что эквивалентно-E
) для поддержки расширенных регулярных выражений, поэтому вы можете использовать логическое ИЛИ (|
), чтобы соответствовать нескольким шаблонам.
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
Подождите, пока другие инструменты обработают многострочное сопоставление (обычно это более сложно и необязательно для простых сценариев).
Однако, если вам действительно нужно сопоставить две подстроки в регулярном выражении (а две подстроки могут появляться где угодно в одной строке), вы можете использовать аналог логического И (хотя на самом деле вы используете логическое ИЛИ).|
, но гарантируя, что обе подстроки присутствуют в шаблоне):
bash复制代码
adb shell logcat -b all | grep -E '子串1.*子串2|子串2.*子串1' |
Эта команда будет соответствовать ситуации, когда сначала появляется «подстрока 1», а затем в той же строке появляется «подстрока 2», или сначала появляется «подстрока 2», а затем появляется «подстрока 1». Обратите внимание, что этот шаблон не требует, чтобы две подстроки находились непосредственно рядом друг с другом, между ними может быть любое количество символов;Если они вам нужны рядом друг с другом, вы можете удалить средний..*
。