私の連絡先情報
郵便メール:
2024-07-06
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
存在するadb shell logcat
コマンドで組み合わせるgrep
ログをフィルタリングするときに、2 つの部分文字列を同時に照合したい場合は、パイプ (|
)2つになりますgrep
連結するコマンド、または使用するコマンドgrep
の-E
(またはegrep
、これは以下と同等です-E
) オプションにより拡張正規表現がサポートされるため、論理 OR (|
) 複数のパターンに一致します。
grep
注文この方法では、最初のgrep
コマンドは最初の部分文字列を含む行をフィルターで除外し、次に 2 番目の部分文字列を含む行を除外します。grep
次に、コマンドはこれらの行から 2 番目の部分文字列を含む行をフィルターで除外します。
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」を含む行と一致するのではなく、両方を含む行と一致することに注意してください。 2 つの部分文字列を同時に照合したい場合は、次のように記述する必要があります。
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
または使用しますgrep
の-z
(注: これは標準ではありませんgrep
一部ですが、一部のバージョンでは、grep
またはzgrep
サポート)またはawk
他のツールが複数行のマッチングを処理するまで待ちます (これは通常より複雑で、単純なシナリオには必要ありません)。
ただし、正規表現内の 2 つの部分文字列を本当に一致させる必要がある場合 (2 つの部分文字列は同じ行のどこにでも出現する可能性があります)、論理 AND の類似物を使用できます (実際には論理 OR を使用します)。|
ただし、両方の部分文字列がパターンに現れるようにする必要があります)。
bash复制代码
adb shell logcat -b all | grep -E '子串1.*子串2|子串2.*子串1' |
このコマンドは、同じ行に「部分文字列 1」が最初に表示され、次に「部分文字列 2」が表示されるか、または「部分文字列 2」が最初に表示され、次に「部分文字列 1」が表示される状況に一致します。このパターンでは、2 つの部分文字列が互いに直接隣接する必要があるというわけではなく、それらの間に任意の数の文字が存在してもよいことに注意してください。隣り合わせて配置する必要がある場合は、中央のものを削除できます。.*
。