shell 小脚本
1.检查C文件中的内容是否在D文件中出现:
cat /myshell/demo/c.sh | while read line do grep $line /myshell/demo/d.sh > /dev/null; if [ $? -eq 0 ] then echo $line; fi done
2.筛选指定的内容 ,如ifconfig中的ip地址("-F:":指定':'为分割行(BEGIN{FS=":"}的功能也相同)):
ifconfig |grep 'inet addr:'|grep 'Bcast'|awk '{print $2}'|awk -F: '{print $2}'
192.168.100.172
-------------------------------------------
ifconfig |grep 'inet addr:'|grep 'Bcast'|awk '{print $2}'|awk 'BEGIN{FS=":"} {print $2}'
192.168.100.172
3.显示文件中每行的列数(NR:显示当前正在处理第几行,NF:显示当前处理的行中一共有几列,"-F:":指定':'为分割行)
awk -F: '{print NR,NF}' /etc/passwd
4.检索网站的数据,并进行格式化
#! /bin/bash lynx -dump http://www.sundxs.com/phb/10549.html | grep -E "^ {3,}[0-9]+\."| grep -v "http"| tr -s ' '| sed 's/\.[[:space:]]/./'| awk 'BEGIN{FS="."} { printf "%-4s %s\n", $1, $2; }'
5.扫描IP主机
#! /bin/bash for i in 192.168.100.{1..254} do ( ping $i -c 2 &> /dev/null; if [ $? -eq 0 ];then printf "IP: %-15s %s is alive!\n" $i; #printf "is alive!\n" fi )& done wait
浙公网安备 33010602011771号