架构师的成长之路初片-shell-(字符串的处理)

五,字符串的处理

1, 字符串的截取

${变量名:截取起始位置:截取长度}

编写脚本,可以随机获取变量x中的一位字符

#!/bin/bash

x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU

VWXYZ0123456789   //先定义变量x,里面有62个字符

n=$[RANDOM%62]   //利用RANDOM随机除以62取余数

可以得到0~61之间的随机数

echo ${x:n:1}   //随机截取变量x中的一位字符

例子:

编写脚本,可以获取50个随机的8位字符串(将来可以作为为用户配置随机密码时使用)

#!/bin/bash

x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789    //定义变量

for j in {1..50}      //执行50次

do

  for i in {1..8}     //循环8

  do

    n=$[RANDOM%62]   //得到0-61之间的随机数

    a=${x:n:1}   //随机截取一个x中的字符存储到变量a

    pass=$pass$a  //将每次获取的随机字符存储到变量pass

  done

  echo $pass   //循环完8次之后,喊出最终结果,就得到了18位的字符串

  unset pass  //每次获取完8位字符串,将变量清空,避免下次变成16位长

done

-----------------------------------------------------------------------------------------------------------

字符串的改、删等操作

a=asdqwerwasdf

echo ${a/q/9}           /把a内的q换成9

echo ${a//ww/6}      //把两个w换成6

未完待续....................

原文地址:https://www.cnblogs.com/ahaocloud/p/14374736.html