新聞中心
這里有您想知道的互聯網營銷解決方案
shell腳本:打印文本中字符數不大于6的單詞
本篇文章重點為大家分享一下shell腳本面試題,題目:通過shell腳本打印文本中字符數不大于6的單詞。

for循環(huán)打印下面這句話中字母數不大于6的單詞; I am oldboy teacher welcome to oldboy traning class
方法1:
使用數組a,存放文本里的單詞;for循環(huán)輪詢,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
執(zhí)行結果如下:
[root@localhost anglea]# sh 1.sh
I
am
oldboy
to
oldboy
class
方法2:
使用for循環(huán)輪詢單詞,使用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
執(zhí)行結果如下:
[root@localhost anglea]# sh 2.sh
I
am
oldboy
to
oldboy
class
方法3:awk的length用法
[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的單詞
網頁URL:http://www.dlmjj.cn/article/dpsiiic.html


咨詢
建站咨詢
