str="wxz"
echo $ #輸出 3
提取子字串
以下例項從字串第 2 個字元開始擷取 4 個字元:
string="the shell script is great"
echo $ # 輸出 he s
查詢子字串
查詢字元 "i 或 s" 的位置:
string="runoob is a great company"
echo `expr index "$string" is` # 輸出 8
linux 的字串擷取很有用。有八種方法。
假設有變數 var=
1. # 號擷取,刪除左邊字元,保留右邊字元。
echo $
其中 var 是變數名,# 號是運算子,*// 表示從左邊開始刪除第乙個 // 號及左邊的所有字元
即刪除 http://
結果是 :www.aaa.com/123.htm
2. ## 號擷取,刪除左邊字元,保留右邊字元。
echo $
##*/ 表示從左邊開始刪除最後(最右邊)乙個 / 號及左邊的所有字元
即刪除
結果是 123.htm
3. %號擷取,刪除右邊字元,保留左邊字元
echo $
%/* 表示從右邊開始,刪除第乙個 / 號及右邊的字元
結果是:
4. %% 號擷取,刪除右邊字元,保留左邊字元
echo $
%%/* 表示從右邊開始,刪除最後(最左邊)乙個 / 號及右邊的字元
結果是:http:
5. 從左邊第幾個字元開始,及字元的個數
echo $
其中的 0 表示左邊第乙個字元開始,5 表示字元的總個數。
結果是:http:
6. 從左邊第幾個字元開始,一直到結束。
echo $
其中的 7 表示左邊第8個字元開始,一直到結束。
結果是 :www.aaa.com/123.htm
7. 從右邊第幾個字元開始,及字元的個數
echo $
其中的 0-7 表示右邊算起第七個字元開始,3 表示字元的個數。
結果是:123
8. 從右邊第幾個字元開始,一直到結束。
echo $
表示從右邊第七個字元開始,一直到結束。
結果是:123.htm
注:(左邊的第乙個字元是用 0 表示,右邊的第乙個字元用 0-1 表示)
描述的有點兒不容易懂,看了好久才勉強明白 # ## % %%。
#、## 表示從左邊開始刪除。乙個 # 表示從左邊刪除到第乙個指定的字元;兩個 # 表示從左邊刪除到最後乙個指定的字元。
%、%% 表示從右邊開始刪除。乙個 % 表示從右邊刪除到第乙個指定的字元;兩個 % 表示從左邊刪除到最後乙個指定的字元。
刪除包括了指定的字元本身。
wenxin667
wenxin667
140***[email protected]
6個月前 (08-24)
amau
1@1***t
#!bin/bash
#author:amau
var=""
s1=$
s2=$
s3=$
s4=$
s5=$
echo "關於字串的擷取%,#的使用方法"
echo "原字串為:"$
echo "%%t*的效果:"$
echo "%t*的效果:"$
echo "%%.*的效果:"$
echo "#*/的效果:"$
echo "##*/的效果:"$
執行結果:
關於字串的擷取%,#的使用方法
原字串為:
%%t*的效果:h
%t*的效果:
%%.*的效果:http://www
#*/的效果:/www.runoob.com/linux/linux-shell-variable.html
##*/的效果:linux-shell-variable.html
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...
shell 指令碼入門
shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。ken thompson 的 sh 是第一種 unix shell,win...
Shell指令碼入門
一 shell簡介 shell指令碼,就是利用shell的命令解釋的功能,對乙個純文字的檔案進行解析,然後執行這些功能,也可以說shell指令碼就是一系列命令的集合。shell可以直接使用在win unix linux上面,並且可以呼叫大量系統內部的功能來解釋執行程式,如果熟練掌握shell指令碼,...