shell脚本中的正则表达式匹配

时间:2010-09-29 18:42:00

标签: regex shell

我正在编写一个shell脚本,以确保我的DNS服务器正在查找。这是它测试的输出:

Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   galapagos.office
Address: 192.168.140.25

除了“galapagos.office”之外的所有内容都需要完全匹配。 “galapagos.office”部分本身并不重要。

我想我可以将这个正则表达式应用于输出,告诉我它是否符合我的要求:

Server: +127\.0\.0\.1\nAddress: +127\.0\.0\.1#53\n\nName:.+\nAddress: 192\.168\.140\.25

问题是我真的不知道shell脚本。确保正则表达式与nslookup命令的输出匹配的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

猜猜你真正想要什么

awk '/Server/&&$2=="127.0.0.1"{f=1}
       /Address/&&$2=="127.0.0.1#53"{g=1}
       /Address/&&$2=="192.168.140.25"{h=1}
  END{if(h && g && f) print "ok"}' file