先把上述内容写到一个文件,如果不写文件就加管道或者"<<<" 等重定向的方式读取stdin的输入,awk和sed都能实现:
awk 'BEGIN { RS="\n\n"; FS="\n"; OFS="\t" } { print $1, $2, $3 }' input.txt
sed -n '/^g3\/0\/[0-9]/{N;N;s/\n/\t/g;p}' input.txt
1.第一条命令报错,你通过awk取出IP了,再将取出的IP交给shell执行,shell肯定一脸懵逼给你返回命令未找到;
2.第二条命令下载文件失败,测试了下这个域名解析到国外地址的,你服务器又是国内的,偶尔不稳很正常,多试几次,而且这个脚本只是单纯返回了Download Failed,并没有给出具体原因,建议你先wget这个失败的URL能不能正常拉取回来;如果你有脚本能力就更好办了,去里面找Download Failed的前后文,让它尽量把整个拉去文件的过程输出到屏幕上,清晰看到失败原因是什么,或者直接通过任何方式拉去后上传到机器,去脚本里面注释这条拉取的命令。
3.第三条命令又是语法问题,ping 后面请接域名或者IP,不要接URL地址,拿三层协议ICMP去探测七层的URL地址,怎么可能不报错?