命令打印所有行,直到第一次匹配

问题描述:

我想在第一次匹配之前打印文件中的所有行。我在文件中再次具有相同的条目,但我不需要这些行。尝试 awk“{print}/$ {pattern}/{exit}”和sed“/ $ pattern/q”(我的serach基于一个变量)。但是,这两个命令都打印所有行的最后一场比赛之前 例如:我的文件是这样 ABC BCD 高清 XYZ 高清 LMNO 高清 XVD命令打印所有行,直到第一次匹配

当我的模式是“高清”,我只是需要abc和bcd。但上面的命令正在打印最后一个“def”之前的所有行。能否请您提供一些想法

这应该工作:

awk '!'"/${pattern}/{print} /${pattern}/ {exit}" input_file.txt