阿铭每日一题 day 5 20180115

 

 

 

 

 

 

方法一:使用数组a,存放文本里的单词;for循环轮询,if判断每一个单词的长度,打印小于等于6的单词

1 #!/bin/bash
2 arr=(Bash also interperts a number of mult i-character options)
3 for((i=0;i<${#arr[*]};i++))
4 do
5     if [ ${#arr[$i]} -lt 6 ]
6       then
7         echo ${arr[$i]}
8     fi
9 done

 

 

上面的if判断还可以使用expr length判断字符串长度

1 #!/bin/bash
2 arr=(Bash also interperts a number of mult i-character options)
3 for((i=0;i<${#arr[*]};i++))
4 do
5     if [ `expr length ${arr[$i]}` -lt 6 ]
6     then
7         echo ${arr[$i]}
8     fi
9 done

 

 

 

方法二:数组的另一种方法:直接读取数组里的元素,判断元素的长度

1 #!/bin/bash
2 arr=(Bash also interperts a number of mult i-character options)
3 for file in ${arr[@]};do
4   if [ ${#file} -lt 6 ];then
5     echo $file
6   fi 
7 done

 

 

 

 

day5=参考答案=~ps.不是唯一答案哦
解析
1. 遍历整个字符串,以单词为单位进行处理,for循环可以实现。
2. 获取一个字符串长度,用wc命令就可以做到。
【参考答案】

 

1 #!/bin/bash
2 for s in Bash also interprets a number of multi-character options
3 do
4     n=`echo $s|wc -c`
5     if [ $n -lt 7 ]
6     then
7         echo $s
8     fi
9 done

 

posted @ 2018-01-21 10:15  Ivan_yyq  阅读(176)  评论(0编辑  收藏  举报