shell的经典用法场景

1、读取文件内容

        cat score.txt | while read line
        do
            echo "the line in score.txt is:${line}"
        done

2、操作字符串

        查看字符串长度(=str.length()):${#str}

        截取字符串(str.substring(strart,length)):${str:start:length}

        获取字符串中字符下标(str.indexof("")):expr index ${str} "hello"

        替换字符串(str.replace("","")):${str/substr/replaceStr}

        替换字符串(str.replaceAll("","")):${str//substr/replaceStr}

        判断是否包含字符(str.contains()):$strA =~ $strB (判断strA里面是否包含strB)

3、统计目录下文件/目录个数

不包含子目录下面的文件: ll -l | grep "^-" | wc -l

包含子目录下面的文件: ll -lr | grep "^-" | wc -l

统计当前目录下面的子目录个数: ll -l | grep "^d" | wc -l

统计当前目录下面的子目录个数(包含子目录下面的子目录): ll -lR | grep "^d" | wc -l

用法分析:

     ll 命令的R参数代表命令递归生效,即对子目录的子目录也会生效;

     grep 命令后面的 "^d"和"^-"两个字符串都是正则表达式,代表以什么开头的意思,Linux里面目录以d开头,文件以-开头,所以用它能够区分文件或者目录;

     wc命令用于统计数量,-l代表统计管道输入过来的数据的行数

4、生成指定范围内的随机数

生成1000-2000之间的随机数     

function getRandom(){
             min=$1
             max=$2
             r=${RANDOM}
             #先得出max和min的差值
             dis=$((${max}-${min}))
             res=$((${r}%${dis}+${min}))
     }

     getRandom 1000 2000
     echo "getRandom:${res}"

5、生成指定长度的随机字符串

#使用date 生成随机字符串
     r1=`date +%s%N | md5sum | head -c 10`
     echo "r1=${r1}"
#使用 /dev/urandom 生成随机字符串
     r2=`cat /dev/urandom | head -n 10 | md5sum | head -c 10`

     echo "r2=${r2}"

6、获取当前的日期,并根年月日来创建文件夹

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值