awk -v RS="" '/1234/&&!/qwer/' file.txt
你的这个例子,由于出现了qwer,所以输出为空。
RS(记录分隔符)默认为换行符,但这里将所有文件内容作为一条记录来整体看待,以便判断是否含有要求的内容,所以清除了记录分隔符。