如何测试文件中是否存在字符串,如果存在,请检查文件中的剩余行以查找具有bash shell的另一个字符串

str*_*kai 2 bash

我已经有一个日志说file.txt.

我想检查Bash,如果日志中存在字符串(7月),如果是,请检查日志中的其余行以查找另一个字符串(foobar).

Ken*_*ent 5

如果你有awk可用,awk oneliner可以为你做:

awk '/July/{f=1} f&&/foobar/{print "Found foobar after July!";exit}' file
Run Code Online (Sandbox Code Playgroud)

如果没有July或没有foobar after July,该命令不打印任何内容.当然你可以制作一个if-else,让它打印"未找到"或其他东西.