以下是我尝试使用awk做的事情.在匹配和打印之前获取与正则表达式匹配的行和行.我可以得到与正则表达式匹配的行,但不是之前的行:
awk '{if ($0!~/^CGCGGCTGCTGG/) print $0}'
Run Code Online (Sandbox Code Playgroud)
mar*_*rco 13
在这种情况下,您可以使用grep轻松解决它:
grep -B1 foo file
Run Code Online (Sandbox Code Playgroud)
但是,如果你需要使用awk:
awk '/foo/{if (a && a !~ /foo/) print a; print} {a=$0}' file
Run Code Online (Sandbox Code Playgroud)