课时5 字符串处理
一、子串截取操作
路径分割:dirname命令、basename命令
使用expr命令:expr
substr $Var1 起始位置 截取长度
使用${}表达式:${Var1:起始位置:截取长度}
示例1:
路径分割
[
root@localhost ~]# Var1="/etc/httpd/conf/httpd.conf"
[
root@localhost ~]# dirname $Var1
/etc/httpd/conf
[
root@localhost ~]# base
name $Var1
httpd.conf
示例2:
使用expr命令进行
子串截取操作
[
root@localhost ~]# Var1=BeiDaQingNiao
[
root@localhost ~]# expr substr $Var1 4 6
//起始位置编号从1开始
DaQing
[
root@localhost ~]#
示例3:
使用${}表达式进行
子串截取操作
[
root@localhost ~]# Var1=BeiDaQingNiao
[
root@localhost ~]# echo ${Var1:4:6}
//起始位置编号从0开始
aQing
N
BeiDa
二、字符串替换
使用${}表达式:${var1/old/new}、
${var1//old/new}
说明:第一种只替换第一个;第二种替换全部。
示例1:使用${}表达式进行
字符串替换
[
root@localhost ~]# Var1=BeiDaQingNiao
[
root@localhost ~]# echo ${Var1/i/##}
//只替换第一个i
Be##DaQingNiao
[
root@localhost ~]# echo ${Var1/i/##}
//替换所有i
Be##DaQ##ngN##ao
三、使用随机字符串
步骤:
1、随机设备获取随机字符串(包含一些乱码): /dev/urandom
2、进行MD5转换(为ASCII字符):/usr/bin/md5sum
3、进行字符串切割:/bin/cut
示例1:
使用随机字符串
[
root@localhost ~]# head -1 /dev/urandom | md5sum | cut -b 8
1aab9abz