我正在使用的程序用于在grep
系统日志中搜索特定警报,但我正在寻找的系统日志条目的某个元素将专门与该条目相关,因此实际上是“随机的”。
我认为我正在寻找的一个例子是:
tail -f log | grep "string {ignore} string"
提前致谢。
答案1
你需要使用通配符(或通配符模式)在grep
这样的命令中:
tail -f log | grep "some_string.*some_string"
在哪里,.*
(@dsstorefile1 在评论中也指出了这一点)这里使用的就是通配符模式。要了解有关通配符模式的更多详细信息,请参阅手册页。
man 7 glob
这将显示以下内容:
. (dot) : will match any single character (except end of line) ,
equivalent to ? (question mark) in standard wildcard expressions.
* (asterisk) : the proceeding item is to be matched zero or more times.
ie. n* will match n, nn, nnnn, nnnnnnn
but not na or any other character.
现在,将这两者结合起来,您将获得:
.* (dot and asterisk) : match any string, equivalent to * in standard wildcards.
此外,正如@Bob在评论中指出的那样,使用.*?
比.*