2021-01-23

shell脚本编程学习第六天

F、利用 bash for 循环打印下面这句话中字母数不大于 6 的单词(某企业面试真题)。
I am oldboy teacher welcome to oldboy training class(或者输入的一句话)

#!/bin/bash
arr=(I am oldboy teacher welcome to oldboy training class)
for world in ${arr[*]}
do
    if [ ${#world} -le 6 ] //再次强调 [] 两侧有空格,= 两侧没有
    then
        echo ${world}
    fi
done
#!/bin/bash
for i in I am oldboy teacher welcome to oldboy training class
do
    if [ `echo $i | wc -L` -le 6 ];then
        echo "$i"
    fi
done

遇到的问题:
数组:格式:array_name=(value0 value1 value2 value3)
读取数组的某个元素:value= ${array_name[2]}
获取数组中所有元素: ${array_name[ * ] } 或者 $ {array_name[@]}
获取数组的长度: length = $ { #array_name [ * ] }
或者 length = $ {#array_name[@]}

字符串:求长度: ${#string} 或者 expr length $string
截取字符串: ${string: 起始位置: 结束位置},没有终止位置就是到最后
获取字符串位置:expr index $string ‘子字符串’, 返回的是第一次出现的位置。
**wc:**用于统计指定文件的行数,单词数,字节数并打印出来。
命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计单词数。一个被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。

参考文章:https://blog.csdn.net/dongwuming/article/details/50605911

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值