阿铭每日一题 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