LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 981|回复: 5

脚本问题,用awk,grep都可以

[复制链接]
发表于 2008-3-17 12:00:45 | 显示全部楼层 |阅读模式
adm-a   IN      A       172.16.33.188
adm-b   IN      A       172.16.33.188
adm-a   IN      MX       172.16.33.188
adm-b   IN      AB       172.16.33.188
我要取出第一个段为adm开头,第三个字段为A的所有记录
发表于 2008-3-17 12:15:24 | 显示全部楼层
你能写先一个试试吗?如果有问题,问题在哪,我们可以讨论。
回复 支持 反对

使用道具 举报

发表于 2008-3-17 12:29:39 | 显示全部楼层
Post by yvqq;1827464
adm-a   IN      A       172.16.33.188
adm-b   IN      A       172.16.33.188
adm-a   IN      MX       172.16.33.188
adm-b   IN      AB       172.16.33.188
我要取出第一个段为adm开头,第三个字段为A的所有记录
awk '{if($1~"adm" && $3~"^A$") print}' test 看看这个符合你要求吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-17 13:17:47 | 显示全部楼层
谢了,awk的这个方法,看起来是可以的,
请问一个~这个符号代表什么意思,有没有==呢
回复 支持 反对

使用道具 举报

发表于 2008-3-17 16:50:35 | 显示全部楼层
  1. grep '^adm[^[:blank:]]*[[:blank:]]*[^[:blank:]]*[[:blank:]]*A[[:blank:]]\+'
复制代码

解释:
[:blank:]表示空白符
adm[^[:blank:]]*  第一字段以adm开头
[^[:blank:]]*[[:blank:]]* 这个是第二字段
A[[:blank:]]\+ 第三字段为大写的A
回复 支持 反对

使用道具 举报

发表于 2008-3-18 00:07:55 | 显示全部楼层
awk '{if ($1 ~ /^adm/ && $3=="A") print $0}' file
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表