我有一个日志文件,其中列出了许多条目。使用 grep regex,我想匹配第一个单词和另一个可以位于字符串中任何位置的单词。
例如,如果我指定“user1”,则搜索将搜索:
grep -E '^(IP_CONNECT|IP_DISCONNECT) user1' file.txt
但是,除非 user1 位于字符串的开头,否则不会匹配,而我希望只要它出现在字符串的任何位置,就可以匹配。如何实现呢?
答案1
我认为您的意思是您想要匹配以“IP_CONNECT”或“IP_DISCONNECT”开头的行,后跟一个或多个[大多数]任意字符,后跟“user1”。
grep -E '^(IP_CONNECT|IP_DISCONNECT).+user1' file.txt
您还可以找到类似正则表达式有助于探索这一点。