字符串內容截取
左側截。
${變量名:起始位置:長度}
l截取字符串1234567890,第5位到第8位
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${x:4:4}
5678
l截取字符串1234567890,第3位到最后一位
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${x:2}
34567890
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${#x}
10
[root@host01 ~]# echo ${x:2:${#x}}
34567890
截取字符串1234567890的前5位
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${x:0:5}
12345
[root@host01 ~]# echo ${x::5}
12345
l截取字符串“中華人民共和國”的第3位到第4位
[root@host01 ~]# x="中華人民共和國"
[root@host01 ~]# echo ${x:2:2}
人民
右側截取:
${變量名:0-起始位置:長度}
右側截取字符串“中華人民共和國”的右側第3位到最后一位
[root@host01 ~]# x="中華人民共和國"
[root@host01 ~]# echo ${x:0-3}
共和國
右側截取字符串“中華人民共和國”,從右側第3位開始截取2位
[root@host01 ~]# x="中華人民共和國"
[root@host01 ~]# echo ${x:0-3:2}
共和
從字符串1234567890的右邊第5位開始截取3位
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${x:5:3}
678
字符串內容替換
1. 只替換第一個匹配結果:${變量名/old/new}
從字符串1234512345中將第一個3替換成xxx
[root@backup ~]# i="1234512345"
[root@backup ~]# echo ${i/3/xxx}
12xxx4512345
2. 替換全部匹配結果:${變量名//old/new}
從字符串1234512345中將所有的3替換成xxx
[root@backup ~]# i="1234512345"
[root@backup ~]# echo ${i//3/xxx}
12xxx4512xxx45
從字符串1234512345中將所有的3替換成空字符串
[root@backup ~]# i="1234512345"
[root@backup ~]# echo ${i//3/}
12451245
字符串內容刪除
1. 從左向右,最短匹配刪除:${變量名#*關鍵詞}
從字符串http://www.sina.com.cn中將冒號“:”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i#*:}
//www.sina.com.cn
從字符串http://www.sina.com.cn中將第一個“.”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i#*.}
sina.com.cn
2. 從左向右,最長匹配刪除:${變量名##*關鍵詞}
從字符串http://www.sina.com.cn中將“http://”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i##*\/}
www.sina.com.cn
從字符串http://www.sina.com.cn中將最后一個“.”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i##*.}
cn
從字符串http://www.sina.com.cn中將最后一個“w”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i##*w}
.sina.com.cn
3. 從右向左,最短匹配刪除:${變量名%關鍵詞*}
從字符串http://www.sina.com.cn中將從右邊算起第一個“.”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i%.*}
http://www.sina.com
計算當前磁盤“/”根分區(qū)的磁盤使用率
[root@backup ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 487168 0 487168 0% /dev
tmpfs 497828 0 497828 0% /dev/shm
tmpfs 497828 7636 490192 2% /run
tmpfs 497828 0 497828 0% /sys/fs/cgroup
/dev/sda3 11523072 1674024 9849048 15% /
/dev/sda1 520868 156640 364228 31% /boot
tmpfs 99568 0 99568 0% /run/user/0
將上面紅字標識的15%提取出來賦值給變量i
[root@backup ~]# df|grep "/$"
/dev/sda3 11523072 1674100 9848972 15% /
[root@backup ~]# df|grep "/$"|awk '{print $5}'
15%
[root@backup ~]# i=$(df|grep "/$"|awk '{print $5}')
[root@backup ~]# echo $i
15%
將字符串“15%”中的“%”去掉
[root@backup ~]# echo ${i%\%*}
15
4. 從右向左,最長匹配刪除:${變量名%%關鍵詞}
從字符串http://www.sina.com.cn中將從右邊算起最后一個“.”左邊的字符串去除
[root@backup ~]# i="http://www.sina.com.cn"
[root@backup ~]# echo ${i%%.*}
http://www
字符串變量初始值處理
可以使用echo ${變量名:-其它值}的方式輸出變量的值,如果變量存在就輸出,如果不存在就輸出設定的“其它值”。
如果變量x存在,打印變量x的值;如果變量x不存在打印其它設定的值
[root@host01 ~]# x="1234567890"
[root@host01 ~]# echo ${x:-abc}
1234567890
[root@host01 ~]# unset x
[root@host01 ~]# echo ${x:-abc}
abc
更多內容
>>本文地址:http://nfbqydst.cn/zhuanye/2021/70185.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?