比如记录如下:


123343242
AAAAAAAA
343243243
BBBBBBBB

在匹配到AAAAAAAA后,想PRINT 出 上一行,也就是 "123343242"
$cat file
123343242
AAAAAAAA
343243243
BBBBBBBB
$awk -v line=$(awk '/(A)+/{a=NR-1;print a}' file) 'NR==line' file
123343242
 
 
最简单的还是用grep:
cat file|grep -B1 A.*|grep -v A.*
 
最简单的还是用sed:
sed -n '/A/{g;1!p;};h'

Note:
执行顺序
每行都执行这两句
1,先测试是否匹配test,匹配则输出a
2,把当前行赋给a