免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 908 | 回复: 1
打印 上一主题 下一主题

请教大家一个AWK的脚本! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-21 20:58 |只看该作者 |倒序浏览
最近移植djbdns到ARM上,里面有一个AWK的脚本,我看不太懂,想请大家帮忙分析一下,看看主要是实现什么功能的,多谢大家了!

awk -F: '
BEGIN { OFS=":" }
{
if ($5 == "tx" next
if ($5 == "A" {
print "glue",$6,$3,$4,"answer",$6" A "$7
next
}
if ($5 == "NS" {
print "glue",$6,$3,$4,"answer",$6" NS "$7
next
}
print
}
' | sort -t: +0 -2 +4 +3 -4 +2 -3 | uniq | awk -F: '
{
type = $1
q = $2
c = $3
ip = sprintf("%-16s",$4)

if (q != lastq) { print ""; lastq = q }

if ($5 == "ALERT" {
result = "A\bAL\bLE\bER\bRT\bT:\b: " $6
}
else if ($5 == "answer" {
if (index($6,q" " == 1)
$6 = substr($6,length(q) + 2)
result = $6
}
else if ($5 == "see" {
result = "see " $6
}
else if ($5 == "CNAME" {
result = "CNAME "$6
}
else
result = $5

if (c != "." {
q = substr(q,1,length(q) - length(c))
for (i = 1;i <= length(c);++i) {
ci = substr(c,i,1)
q = q "_\b" ci
}
}

print type,q,ip,result
}
'

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2005-07-21 21:55 |只看该作者

请教大家一个AWK的脚本!

NS A tx "A\bAL\bLE\bER\bRT\bT:\b: "看这个应该是过滤一些DNS记录重新格式化排序送给less或什么程序阅读的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP