- 论坛徽章:
- 0
|
本帖最后由 jzsjm1002 于 2019-04-02 14:03 编辑
回复 1# 277702021
awk version: GNU Awk 4.0.2
假设123.TXT 456.TXT都在/mnt/awk/目录下
- [root@vh120 awk]# cat test.awk
- #!/usr/bin/awk -f
- #
- function intercept(a1){
- while(getline < a1 > 0)
- if(/\/24|[0-9]\s*B/){
- return ip=gensub(/.*(\s+|:)((\.?[0-9]{1,3}){4})(\s*B|\/24).*/,"\\2","1",$0)
- break
- }
- }
- function ping(a1){
- "ping -c 1 -w 1 "a1" &> /dev/null;echo $?" | getline i
- return i
- }
- BEGIN{
- path="/mnt/awk/*.TXT"
- while("ls "path | getline > 0){
- ip=intercept($0)
- ret=ping(ip)
- close(ping(ip))
- printf "%s\t%s\n",ip,ret==0?"available":"unavailable"
- }
- close("ls "path)
- }
- [root@vh120 awk]# ./test.awk
- 192.168.0.102 unavailable
- 10.1.26.121 available
复制代码
|
|