题目一:
利用学过的知识(awk、grep、sed),根据要求截取字符串
文本为 vi 123.txt文中内容为
http://www.51xit.top/root/123.html
要求:
1、取出 www.51xit.top/root/123.html
2、取出 123.html
3、取出 http://www.51xit.top/root
4、取出 http:
5、取出 http://
6、取出 root/123.html
7、取出 123
@1、
cat 123.txt |awk -F '//' '{print $2}'
cat 123.txt |grep -o 'ww.*'
@2、
cat 123.txt |awk -F '/' '{print $5}'
cat 123.txt |grep -o '[0-9]*\.html'
@3、
cat 123.txt |sed 's|\(.*//.*/.*\)\(/.*\)|\1|'
cat 123.txt |grep -o 'http.*root'
@4、
cat 123.txt |awk -F '//' '{print $1}'
cat 123.txt |grep -o 'ht.p:'
cat 123.txt |sed 's/\/\/www.*//'
@5、
cat 123.txt |awk -F 'www' '{print $1}'
cat 123.txt |grep -o 'h.*//'
cat 123.txt |sed 's/www.*//'
@6、
cat 123.txt |sed 's/^.*top\///'
cat 123.txt |awk -F '.top/' '{print $2}'
cat 123.txt |grep -o 'ro.*ml'
@7、
cat 123.txt |grep -o '[0-9]\{3\}'
cat 123.txt |awk -F '/' '{print $5}' |awk -F '.' '{print $1}'
cat 123.txt |grep -o '1.3'
题目二:
【shell】
目前项目上线,有这样的需求,为了不让上先的服务器,不予线网的ip地址相冲突,写一个shell脚本,把20,0,0,0/24网段在线的IP地址和不在线的IP地址列出来并保存在文档中
【shell分析】
1、24网段的共有IP地址从20.0.0.1到20.0.0.254需求以for循环进行遍历
2、看一个IP地址是否上线,主要看ping命令来进行测试
[root@localhost ~]# vim pinggost.sh
#!/bin/bash
for((a=1; a<=254; a++))
do
IP=20.0.0.$a
ping -c 3 -i 0.2 -w 3 $IP &> /dev/null ##-c指的是发送的数量-i发送包间隔时间-w等待时间3s
if [ $? -eq 0 ]
then
echo "host $IP is up" && echo "host $IP is up" >>/root/ipup.txt
else
echo "host $IP is down" && echo "host $IP is down" >>/root/ipdown.txt
fi
done
步骤解析:使用for循环a为变量,变量从1到254依次执行 if的返回值若是为0说明ping能通
输出结果并保存到文档ipup.txt中,不能ping通过的保存到ipdown中