bash的內建字串處理工具

2022-03-22 05:05:02 字數 2139 閱讀 6329

bash內建字串處理工具:

1、字串切片:

$  取字串的子串;

$    取字串的最右側的length個字元。注意:冒號右側必須有乙個空白字元。

演示:

2、基於模式取子串:

$:其中word是指定的分割符,功能:自左而右,查詢var變數所儲存的字串中,第一次出現的word分隔符,刪除字串開頭至此分隔符之間(包括分隔符本身)的所有字元;

$:其中word是指定的分隔符;功能:自左而右,查詢var變數所儲存的字串中,最後一次出現的word分隔符,刪除字串開頭至此分隔符之間(包括分隔符本身)的所有字元;

演示:

如果是對路徑進行分割的話,最後乙個例子相當於取乙個絕對路徑的基名。

$:其中word是指定的分隔符;功能:自右而左,查詢var變數所儲存的字串中,第一次出現的word分隔符,刪除此分隔符至字串尾部之間(包括分隔符本身)的所有字元。

$:其中word是指定的分隔符;功能:自右而左,查詢var變數所儲存的字串中,最後一次出現的word分隔符,刪除此分隔符至字串尾部之間(包括分隔符本身)的所有字元。

演示:

3、查詢替換

$:查詢var所表示的字串中,第一次被pattern所匹配到的字串,將其替換為substi所表示的字串;

$:查詢var所表示的字串中,所有被pattern所匹配到的字串,並將其全部替換為substi所表示的字串;

演示:

$:查詢var所表示的字串中,行首被pattern所匹配到的字串,將其替換為substi所表示的字串;

$:查詢var所表示的字串中,行尾被pattern所匹配到的字串,將其替換為substi所表示的字串。

注意:pattern中要是有glob風格和萬用字元。

演示

支援使用glob風格的萬用字元

4、查詢刪除

$:以pattern為模式從頭部自左而右開始查詢var字串中第一次被匹配之間出現的全部字元,並刪除之。

$:以pattern為模式從頭部自左而右開始查詢var字串中最後一次被匹配之間出現的全部字元,並刪除之 

$:以pattern為模式,在var字串中匹配行首出現的pattern字元,並刪除之

$:以pattern為模式,在var字串中匹配行尾出現的pattern字元,並刪除之

演示:5、字元大小寫轉換

$:把var中的所有小寫字元轉換為大寫

$:把var中的所有大寫字元轉換為小寫。

演示:6、變數賦值

$:如果var變數為空,或未設定,那麼返回value;否則,則返回var變數的值。

$:如果var變數為空,或未設定,那麼返回value,並將value賦值給var變數;否則,則返回var變數的值。

$:如果var變數不為空,則返回value;如果var變數為空,則返回為空。

$:如果var不為空,或未設定,那麼返回error_info為錯誤提示;否則,返回var值。

演示:

bash內建的字串處理工具

字串切片 例如 name obama echo 或者echo 取最右側的字串 必須在 後面加乙個空格 基於模型取字串 其中word可以使任意字元 功能 自左而又,查詢var變數所儲存的字串中,第一次出現word,刪除字串開頭至 第一次出現word字元之間的所有字元。例如 name 123 echo ...

BASH 字串處理

使用正規表示式拆分字串 bash 3.0以上支援 正規表示式 格式 name value1 value2 name value1和value2是我們需要的字串 在分隔符前後可以有空格 tab等無顯示字元不允許 用 做正規表示式匹配 表示可以有任意空格,表示裡面是要提取的部分,表示任意數目的任意字串,...

常用字串處理工具

1 字串判斷 檢查字串是否是空白 stringutil.isblank null true stringutil.isblank true stringutil.isblank true stringutil.isblank bob false stringutil.isblank bob fals...