|
发表于 2008-3-11 08:37:44
|
显示全部楼层
没有能够用grep写出来,但是用sed实现了一个- sed -n '/\[CE\]/{:a;$!n;/\[.*\]/!{/[^[:blank:]]*[[:blank:]]*[^[:blank:]]*A/p;$!ba}}'
复制代码
如果确定分隔符是空格的话,可以把[:blank:]用空格来代替
解释:
-n 不显示
/\[CE\]/{....} 如果遇到含有[CE]的行,则开始{}内的命令序列
:a 创建一个标签
$!n 在最后一行之前执行n命令,就是把下一行读入,并替换当前的模式空间中的内容
/\[.*\]/!{...} 在遇到下一个[??]这样的标签之前都执行{}中的命令序列
/[^[:blank:]]*[[:blank:]]*[^[:blank:]]*A/p 第二个字段中含有A就显示,如果需要第二列以A开头的话,就把[[:blank:]]*A换成A就可以了
$!ba 在最后一行之前无条件跳转到标签a处重新执行。 |
|