假設有變數 var=
一 # 號擷取,刪除左邊字元,保留右邊字元。
echo $
其中 var 是變數名,# 號是運算子,*// 表示從左邊開始刪除第乙個 // 號及左邊的所有字元
即刪除 http://
結果是 :www.linuxidc.com/test.htm
二 ## 號擷取,刪除左邊字元,保留右邊字元。
echo $
##*/ 表示從左邊開始刪除最後(最右邊)乙個 / 號及左邊的所有字元
即刪除
結果是 test.htm
三 %號擷取,刪除右邊字元,保留左邊字元
echo $
%/* 表示從右邊開始,刪除第乙個 / 號及右邊的字元
結果是:
四 %% 號擷取,刪除右邊字元,保留左邊字元
echo $
%%/* 表示從右邊開始,刪除最後(最左邊)乙個 / 號及右邊的字元
結果是:http:
五 從左邊第幾個字元開始,及字元的個數
echo $
其中的 0 表示左邊第乙個字元開始,5 表示字元的總個數。
結果是:http:
六 從左邊第幾個字元開始,一直到結束。
echo $
其中的 7 表示左邊第8個字元開始,一直到結束。
結果是 :www.linuxidc.com/test.htm
七 從右邊第幾個字元開始,及字元的個數
echo $
其中的 0-7 表示右邊算起第七個字元開始,3 表示字元的個數。
結果是:test
八 從右邊第幾個字元開始,一直到結束。
echo $
表示從右邊第七個字元開始,一直到結束。
結果是:test.htm
九 echo $
注:(左邊的第乙個字元是用 0 表示,右邊的第乙個字元用 0-1 表示)
shell 中變數的擷取
假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 可以用 分別替換得到不同的值 刪掉第乙個 及其左邊的字串 dir1 dir2 dir3 my.file.txt 刪掉最後乙個 及其左邊的字串 my.file.txt 刪掉第乙個 及其左邊的字串 file.txt...
Shell 通過 和 擷取變數
使用變數操作符 1 單個 符 截掉左側,非貪婪匹配 該方式是從左開始第一次匹配到字元 然後截掉左邊內容 包括字元 返回餘下右側部分。var dir1 dir2 file.tar.gz echo tar.gz 2 雙 符 截掉左側,貪婪匹配 該方式是從左開始最大化匹配到字元 然後截掉左邊內容 包括字元...
shell變數的擷取總結
shell變數的擷取 shell中的 和 假設定義了乙個變數為 如下 file dir1 dir2 dir3 my.file.txt 變數的刪除可以用 分別替換得到不同的值 刪掉第乙個 及其左邊的字串 dir1 dir2 dir3 my.file.txt 刪掉最後乙個 及其左邊的字串 my.file...