#!/bin/bash awk -F "." '{ if(NF==4){ for(i=1;i<5;i++){ if($i>255 || $i<0){ print("no") break } if(i==4){ print("yes") } } } else{ print("error") } }' nowcoder.txt
解题思路:
1.要判断是否有四段号码,首先想到的是用awk -F的命令以"."为分隔符,NF判断是否存在四个域来判断是否有四段号码
2.之后进行判断,如果存在四段则进行下一步的条件判断,如果不存在则直接输出"error"
3.判断存在四段后对是否为正确的IP地址进行判断,所以要分别对每一段号码进行判断是否在[0-255]之间 ,因此用到for循环,如果都在则输出"yes",只要有一个不在就跳出循环,并输出"no"
4.如果i==4了说明四段号码都符合条件,则输出"yes"