91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell腳本:字符串的截取

發布時間:2020-07-21 18:51:29 來源:網絡 閱讀:1284 作者:q381989042 欄目:開發技術

 

在shell腳本中我們所有變量的存儲形式都是字符串。所以對于字符串的截取來說就變得十分重要了。 


而在shell腳本中,如果想要對一個字符串進行指定的截取,有多種方法可以來完成:
如下舉例均用:STR="hello world my dear sister"

${STR#*char} 表示從左開始刪除第一個char左邊的所有字符,截取右邊的字符串

#!/bin/bash

STR="hello world my dear sister"
echo ${STR}

CUT=${STR#* }
echo ${CUT}

結果:

shell腳本:字符串的截取



${STR##*char} 表示從左開始刪除最后一個char左邊的所有字符,截取右邊的字符串
將上例程序改為:

CUT=${STR##*/}

結果:

shell腳本:字符串的截取


${STR%char*} 表示從右開始刪除第一個char右邊的所有字符,截取左邊的字符串

將上例程序改為:

CUT=${STR%/*}


同樣*可以看做是通配符,表示匹配右邊所有的字符刪除,保留左邊;

結果:
shell腳本:字符串的截取shell腳本:字符串的截取


${STR%char*} 表示從右開始刪除最后一個char右邊的所有字符,截取左邊的字符串

將上例程序改為如下:

CUT=${STR%%/*}[object Object]

結果:

shell腳本:字符串的截取


${STR:N:M}  表示從左邊第N個字符開始截取M個字符,不包括第N個字符
將上例程序改為:

CUT=${STR:3:8}

表示從左邊第3個字符開始截取后面的8個字符;如果N為0表示從第一個字符開始,但是包括第一個字符;

結果:

shell腳本:字符串的截取



${STR:N}  表示從左邊第N個字符開始截取后面所有的字符,不包括第N個字符

將上面程序改為如下:

CUT=${STR:7}

表示從左邊第7個字符開始取后面的所有字符;

結果:

shell腳本:字符串的截取shell腳本:字符串的截取



${STR:0-N:M}  表示從右邊第N個字符開始截取M個字符,包括第N個字符


將上例程序改為:

CUT=${STR:0-7:3}


表示從右邊開始數第7個字符開始,包括第七個字符本身,截取三個字符;

結果:

空格在行首的同時不輸出。其他字符是輸出的,大家可以下去試一試是否包含他本身

shell腳本:字符串的截取



${STR:0-N}  表示從右邊第N個字符開始截取后面的所有字符,包括第N個字符

將上例程序改為:

CUT=${STR:0-7}

表示從右邊開始數第7個字符開始截取后面的所有字符;

結果:

空格不輸出。其他字符是輸出的,大家可以下去試一試是否包含他本身


shell腳本:字符串的截取


${STR} | cut -c N  表示取從左邊開始數的第N個字符

示例代碼:

#!/bin/bash

STR="hello world my dear sister"
echo ${STR}

echo ${STR} | cut -c 7

表示截取從左邊數第7個字符;

結果:
shell腳本:字符串的截取




${STR} | cut -c N-  表示截取從左邊開始數的第N個字符往后的所有字符,包括第N個

更改如上程序:

echo ${STR} | cut -c 7-

表示從截取從左邊第7個字符開始剩下的所有字符;

結果:

shell腳本:字符串的截取



${STR} | cut -c N-M  表示截取從左邊開始數的第N個字符到第M個字符之間的所有字符,包括第N個字符,但是不包括第M個字符

將程序改為如下:

echo ${STR} | cut -c 2-7


表示截取從左邊第2個字符到第7個字符之間的所有字符,包括第2個字符,不包括第7個字符;

結果:

shell腳本:字符串的截取



${STR} | cut -c -N  表示截取從左邊開始數的第N個字符往前的所有字符,包括第N個字符

將程序改為如下:

echo ${STR} | cut -c -7


表示從左邊第7個字符開始數刪除后面所有的字符,截取前面的字符;

結果:

shell腳本:字符串的截取

expr substr "${STR}" N M  表示從左邊第N個字符開始往后截取M個字符

示例程序:

#!/bin/bash

STR="hello world my dear sister"
echo ${STR}

CUT=$(expr substr "${STR}" 3 5)
echo $CUT


因為expr是命令,所以上面的$()為命令替換,表示截取從左邊第3個字符開始往后截取5個字符;

結果:

shell腳本:字符串的截取



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 科尔| 甘孜县| 镇远县| 鄂托克前旗| 常宁市| 萨迦县| 临城县| 噶尔县| 什邡市| 开鲁县| 东丽区| 南澳县| 七台河市| 屏边| 登封市| 扬州市| 美姑县| 张北县| 韶山市| 沅陵县| 渭源县| 迁西县| 文成县| 大余县| 嘉禾县| 黎平县| 凭祥市| 仙桃市| 武冈市| 进贤县| 奉贤区| 垣曲县| 广宗县| 财经| 麻阳| 江口县| 渑池县| 东光县| 旬阳县| 涟水县|