字符串处理

字符串处理

1. 字符串的截取

格式

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

截取的实例

定义变量 a=abcd

  1. 从第二位截取两位
[root@localtion]# echo ${a:1:2}
  1. 从头截取两位
[root@localtion]# echo ${a:0:2}

2. 字符串替换

格式

${变量名/旧/新}

替换的实例

定义变量 a=1234

  1. 将1个字符2换成6
[root@localtion]# echo ${a/2/6}

定义变量 a=112233

  1. 将1个字符2换成6
[root@localtion]# echo ${a/2/6}
  1. 将所有字符2换成6
[root@localtion]# echo ${a//2/6} 

定义变量 a=1122233

  1. 换2个
[root@localtion]# echo ${a/22/66} 
  1. 将11替换成空,相当于删除
[root@localtion]# echo ${a/11/}

3. 字符串的删除

格式

掐头
${变量名#要删除的内容}
去尾
${变量名%要删除的内容}

删除的实例

定义变量 a=abcdef

  1. 掐头,删除到abc
echo ${a#abc}
  1. 去尾,删除到def
echo ${a%def}
  1. 掐头,删除到abcde
echo ${a#abcde}

定义变量 a=abcdefghijk

  1. 掐头,删除到i
echo ${a#abcdefghi}
  1. 效果同上,精简写法
echo ${a#*i} 
  1. 去尾,删除到d
echo ${a%defghijk}
  1. 效果同上,精简写法
echo ${a%d*}

综合案例

案例1:编写脚本,可以生成8位随机字符用作密码

代码实现

#!/bin/bash
x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
for i in {1..8}
do
n=$[RANDOM%62]  //得到0~61随机数存在变量n中
a=${x:n:1}   //截取到1个随机字符,存在变量a中
c=$a$c   //不断往c中追加,此时c相当于一个袋子
done
echo $c   //最后喊出,得到8位长度随机字符串

案例2:编写脚本,可以批量修改扩展名

代码实现
可以先用touch abc{01..10}.txt 创建10个文件作为素材

#!/bin/bash
for i in $(ls *.txt) //找到所有的txt文件交给for循环
do
n=${i%.*}  //用去尾的方法删除扩展名
mv $i $n.doc  //再将源文件扩展名修改为doc
done
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭不戳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值