設(shè)變量str="https://en.wikipedia.org/wiki/Unix_shell"
截取操作符 # 刪除左邊字符串,保留右邊字符串澄步。
$ echo ${str#*//}
en.wikipedia.org/wiki/Unix_shell
$ echo ${str##*//}
en.wikipedia.org/wiki/Unix_shell
$ echo ${str#*/}*
/en.wikipedia.org/wiki/Unix_shell
$ echo ${str##*/}
Unix_shell
從上面的測試可以看出
${str#*/}
從左邊開始刪除到第一個(gè)"http://"符號以及左邊的所有字符串冰蘑。
${str##*/}
從左邊開始刪除到最后一個(gè)"/"符號以及左邊的所有字符串。
截取操作符% 刪除右邊的字符串村缸,保留左邊的字符串祠肥。
$ echo ${str%/*}
https://en.wikipedia.org/wiki
$ echo ${str%%/*}
https:
$ echo ${str%//*}
https:
$ echo ${str%%//*}5
https:
${str%/*}
從右邊開始刪除到第一個(gè)"/"符號以及右邊的所有字符串。
${str%%/*}
從右邊開始刪除到最后一個(gè)"/"符號以及右邊的所有字符串梯皿。
指定區(qū)間的截取${str:m:n}
- 從左邊第m個(gè)字符(左邊第一個(gè)下標(biāo)為0)開始仇箱,到左邊的第n個(gè)字符。
$ echo ${str:0:6}
https:
$ echo ${str:2:6}
tps://
${str:m}
- 從左邊第m個(gè)字符開始东羹,到最右邊的所有字符串剂桥。
$ echo ${str:6}
//en.wikipedia.org/wiki/Unix_shell
${str:m-n:x}
- 從右邊的第(n-m)個(gè)字符開始,到右邊的x個(gè)字符串属提。
$echo ${str:1-6:5}
shell
${str:m-n}
- 從右邊的第(n-m)個(gè)字符開始权逗,直到右邊結(jié)束。
echo ${str:1-6}
shell
如果設(shè)置m為0的話冤议,就表示從右邊第n個(gè)字符開始(右邊的第一個(gè)字符表示為 0-1)旬迹。
設(shè)變量 str="hello"
如在字符串str
后邊拼接一個(gè)字符串
$ echo ${str}" world"
hello world
如拼接2個(gè)字符串
$ str1="world"
$ echo ${str}${str1}
helloworld
關(guān)于shell字符串截取和拼接的簡單操作大致如此。