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

 

posted on 2016-04-13 17:13  vijayfly  阅读(162)  评论(0)    收藏  举报

导航