400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > linux > 【Linux基礎(chǔ)知識(shí)】shell字符串常見操作

【Linux基礎(chǔ)知識(shí)】shell字符串常見操作

  • 來(lái)源:優(yōu)就業(yè)
  • 2021-09-28 10:42:00
  • 閱讀()
  • 分享
  • 手機(jī)端入口

字符串內(nèi)容截取

左側(cè)截取:

${變量名:起始位置:長(zhǎng)度}

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截取字符串“中華人民共和國(guó)”的第3位到第4位

[root@host01 ~]# x="中華人民共和國(guó)"

[root@host01 ~]# echo ${x:2:2}

人民

右側(cè)截取:

${變量名:0-起始位置:長(zhǎng)度}

 右側(cè)截取字符串“中華人民共和國(guó)”的右側(cè)第3位到最后一位

[root@host01 ~]# x="中華人民共和國(guó)"

[root@host01 ~]# echo ${x:0-3}

共和國(guó)

右側(cè)截取字符串“中華人民共和國(guó)”,從右側(cè)第3位開始截取2位

[root@host01 ~]# x="中華人民共和國(guó)"

[root@host01 ~]# echo ${x:0-3:2}

共和

從字符串1234567890的右邊第5位開始截取3位

[root@host01 ~]# x="1234567890"

[root@host01 ~]# echo ${x:5:3}

678

字符串內(nèi)容替換

1. 只替換第一個(gè)匹配結(jié)果:${變量名/old/new}

從字符串1234512345中將第一個(gè)3替換成xxx

[root@backup ~]# i="1234512345"

[root@backup ~]# echo ${i/3/xxx}

12xxx4512345

2. 替換全部匹配結(jié)果:${變量名//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

字符串內(nèi)容刪除

1. 從左向右,最短匹配刪除:${變量名#*關(guān)鍵詞}

從字符串http://www.sina.com.cn中將冒號(hào)“:”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i#*:}

//www.sina.com.cn

從字符串http://www.sina.com.cn中將第一個(gè)“.”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i#*.}

sina.com.cn

2. 從左向右,最長(zhǎng)匹配刪除:${變量名##*關(guān)鍵詞}

從字符串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中將最后一個(gè)“.”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i##*.}

cn

從字符串http://www.sina.com.cn中將最后一個(gè)“w”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i##*w}

.sina.com.cn

3. 從右向左,最短匹配刪除:${變量名%關(guān)鍵詞*}

從字符串http://www.sina.com.cn中將從右邊算起第一個(gè)“.”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i%.*}

http://www.sina.com

計(jì)算當(dāng)前磁盤“/”根分區(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

將上面紅字標(biāo)識(shí)的15%提取出來(lái)賦值給變量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. 從右向左,最長(zhǎng)匹配刪除:${變量名%%關(guān)鍵詞}

從字符串http://www.sina.com.cn中將從右邊算起最后一個(gè)“.”左邊的字符串去除

[root@backup ~]# i="http://www.sina.com.cn"

[root@backup ~]# echo ${i%%.*}

http://www

字符串變量初始值處理

可以使用echo ${變量名:-其它值}的方式輸出變量的值,如果變量存在就輸出,如果不存在就輸出設(shè)定的“其它值”。

如果變量x存在,打印變量x的值;如果變量x不存在打印其它設(shè)定的值

[root@host01 ~]# x="1234567890"

[root@host01 ~]# echo ${x:-abc}

1234567890

[root@host01 ~]# unset x

[root@host01 ~]# echo ${x:-abc}

abc

文章“【Linux基礎(chǔ)知識(shí)】shell字符串常見操作”已幫助

更多內(nèi)容

>>本文地址:http://hqfphsz.com/zhuanye/2021/70185.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME