# 使用正则表达式
awk '{
if ($0 ~ /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[09][0-9]|[1-9][0-9]|[0-9])$/) {
print("yes");
} else if ($0 ~ /[[:digit:]].[[:digit:]].[[:digit:]].[[:digit:]]/){
print("no");
} else {
print("error")
}
}' nowcoder.txt
# 使用 . 作为分隔符
awk -F '.' '{
if (NF == 4) {
for (i = 1; i < 5; i++) {
if ($i > 255 || $i < 0) {
print("no")
break
}
}
if (i == 5) {
print("yes")
} else {
print("error")
}
}
}'
# bash 脚本,使用 . 作为分割符号
IFS='.'
while read line; do
arr=(${line})
if [ ${#arr[*]} -ne 4 ]; then
printf "error\n"
else
for ((i = 0; i < ${#arr[*]}; i++)); do
if [ ${arr[${i}]} -gt 255 ]; then
printf "no\n"
break
fi
done
[ $i == 4 ] && printf "yes\n"
fi
done