本篇文章重点为大家分享一下shell脚本面试题,题目:通过shell脚本打印文本中字符数不大于6的单词。
for循环打印下面这句话中字母数不大于6的单词; I am oldboy teacher welcome to oldboy traning class
使用数组a,存放文本里的单词;for循环轮询,if判断每一个单词的长度,打印小于等于6的单词;
[root@localhost anglea]# cat 1.sh
\#!/bin/bash
\#written by linuxidc@2015-10-28
a=(I am oldboy teacher welcome to oldboy traning class)
for((i=0;i${#a[*]};i++))
do
if [ ${#a[$i]} -le 6 ]
then
echo ${a[$i]}
fi
done
上面的if判断还可以使用expr length判断字符串长度;
[root@localhost anglea]# cat 1.sh
\#!/bin/bash#written by linuxidc@2015-10-28
a=(I am oldboy teacher welcome to oldboy traning class)
for((i=0;i${#a[*]};i++))
do
if [ `expr length ${a[$i]}` -le 6 ]
then
echo ${a[$i]}
fi
done
数组的另一种方法:直接读取数组里的元素,判断元素的长度;
arr=(I am oldboy teacher welcome to oldboy traning class)
for file in ${arr[@]}
do
if [ ${#file} -le 6 ]
then
echo $file
fi
done
执行结果如下:
[root@localhost anglea]# sh 1.sh
I
am
oldboy
to
oldboy
class
使用for循环轮询单词,使用wc -L判断单词长度,并做判断;
[root@localhost anglea]# cat 2.sh
\#!/bin/bash#written by linuxidc@2015-10-28
for f in I am oldboy teacher welcome to oldboy traning class
do
[ `echo $f|wc -L` -le 6 ] && echo $f
done
执行结果如下:
[root@localhost anglea]# sh 2.sh
I
am
oldboy
to
oldboy
class
[root@localhost anglea]# echo "I am oldboy teacher welcome to oldboy traning class"|awk '{for(i=1;i I am oldboy to oldboy class
还有更好的方法,欢迎大家共同学习与分享。
网页标题:shell脚本:打印文本中字符数不大于6的单词
文章分享:http://www.mswzjz.cn/qtweb/news37/387637.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能