shell编程(五)

 case语句:

case语句为多选择语句

case 值in
模式1)
 命令1
 ;;
模式2)
 命令2
 ;;

esac

for example:

#!/bin/bash
#case select
echo -n"Enter a number from 1 to 3:"
read ANS
case $ANS in
1)
echo "You select 1"
;;
2)
echo "You select 2"
;;
3)
echo "You select 3"
;;
y|Y)当输入y或者Y他会打印出y或者Y
 echo "You select $ANS"
;;
*)除了1.2.3之外的所有字符
echo "`basename$0`:This is not between 1 and 3">&2
exit;
;;
esac

for循环:

举例说明:

#!/bin/bash
#forlist1
for loop in1 2 3 4 5
do echo $loop
done


#!/bin/bash
#forlist2
for loop in "orange red bue grey" 打印一行字符串。
do echo $loop
done

#!/bin/bash
#forlist2
for loop in `cat myfile`
do echo $loop
done

until循环:

#!/bin/sh
#until_mon
#监控分区
Part="/backup"
#得到磁盘使用的百分比
LOOK_OUT=`df|grep "$Part"|awk'{print $5}'sed 's/%//g'`
echo $LOOK_OUT
until ["$LOOK_OUT" -gt "90"]
do
 echo "Filesystem/backup is nearly full" |mail root
done


while循环:

举例:

#!/bin/sh
#whileread
echo "按下<ctr>+D退出输入:"
while echo -n "输入你喜欢的电影:";read FILM
do
 echo "Yes,${FILM} is a good film"
done

#!/bin/sh
#whileread
while read LINE
do
 echo $LINE
done <names.txt


#!/bin/sh
#whileread
while read LINE <names.txt
do
 echo $LINE
done

break和continue控制:

break
退出循环
continue:
跳过循环步。

continue命令类似于break命令,只是一点重要的差别,它不会跳出循环
只是跳过这个循环步。

#!/bin/bash
#breakout
while:
do
 echo -n "Enter any number [1.....5]:"
read ANS
case $ANS in
1|2|3}4|5)
  echo "You enter a number between 1 and 5."
  ;;
*)
 echo "Wrong number,Bye."
 break
 ;;
esac
done

 

 

#!/bin/bash
#breakout
while;
do
 echo -n "Enter any number[1......5]:"
 read ANS
 case $ANS in
 1|2|3}4|5)
  echo "You enter a number between 1 and 5."
  ;;

 *)
  echo -n "Wrong number,continue(y/n)?:"
  read IS_CONTINUE
  case $IS_CONTINUE in
   y|yes|Y|Yes)
    continue
    ;;
   *)
    break
    ;;
  esac
 esac
done

第五章 文本过滤


正则表达式
find介绍
grep介绍
awk介绍
sed介绍
合并与分割
(sort ,uniq,join,cut,paste,split)

5.2 元字符及含义
^只能匹配行首
$只能配行尾
*匹配0个或多个此单字符
[]只能匹配[]内字符,可以是一个单字符,也可以是字符序列,可以使用
-表示[]内字符序列范围,如用[1-5]代替[12345]
/用来屏蔽一个元字符的特殊含义
.只匹配任意单字符
pattern/{n/} 只用来匹配前面pattern出现次数,n为次数
pattern/{n,/} 含义同上,但次数最少为n。
pattern/{n,m/}含义同上,但pattern出现次数在n与m之间。

...x..x..x

drwxrwxrw- 不匹配
-rwx-r-xr-x 匹配

^d
drwxr--r--  匹配

^...1

^$
^.$


10133*1


用/屏蔽一个特殊字符
特殊字符
",',||,^,*,+等


/*/.pas
正则表达式中匹配以*。pas结尾的所有字符或文件。

IP地址匹配:
[0-9]/{3/}/.[0-9]/{3/}/.[0-9]/{3/}/.[0-9]/{3/}

find命令:
查找具有某些特征文件的命令
可以遍历当前目录甚至于整个文件系统来查某个文件或目录
遍历大的文件系统,一般放在后台。

find pathname -options [-print -exec -ok]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值