1、校验的数据

[root@mq1 sh]# vi ip_data.txt
192.168.1.200
202.106.0.20
300.36.190.5
222222222222
192.168.1.300
200.2.2
192.168.100.100
asdfladjfladsf
132123123.123.123.123..123
8.8.8.8

2、编写awk代码

# 具体语法参考,man awk,感觉语法跟java或js差不多
[root@mq1 sh]# vi pattern.awk { len=split($1,a,"."); if(len==4) { flag=0; for (i=1; i<=len; i++){ if(!(a[i]>=0&&a[i]<=255)){ flag=1; break; } } if(flag==0){ print $1; } flag=0; } }

3、测试运行效果

[root@mq1 sh]# cat ip_data.txt | awk -f /root/sh/pattern.awk 
192.168.1.200
202.106.0.20
192.168.100.100
8.8.8.8

4、总结

  awk主要对某一列的处理过滤处理,而且awk里面有内置的处理函数,处理起来比写正则轻松多了

 

相关文章:

  • 2021-11-20
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2021-08-17
  • 2022-12-23
  • 2021-08-28
猜你喜欢
  • 2021-08-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案