2018年1月29日 星期一

Bash Shell | 如何取得字串長度,字串取代與大小寫置換

1. 取得字串長度
   要取得字串長度,只需要加上 # 即可

   ${#Parameter}

範例:

#!/bin/sh

var0="There is a dog."

echo \${#var0} = ${#var0}

結果:

${#var0} = 15

2. 字串取代
   有四種型式如下

   a. 取代第一個出現的 Pattern

     ${Parameter/Pattern/String}

     在變數 Parameter 的值中尋找是否出現 Pattern,出現的第一個被取代成           String

   b. 取代全部出現的 Pattern 

     ${Parameter//Pattern/String}

     在變數 Parameter 的值中尋找是否出現 Pattern,所有出現的 Pattern 都被取
     代成 String
   
   c. 取代字首出現的 Pattern

     ${Parameter/#Pattern/String}

     尋找變數 Parameter 值的字首是否出現 Pattern,出現 Pattern 則取代成 
     String

   d. 取代字尾出現的 Pattern

     ${Parameter/%Pattern/String}

     尋找變數 Parameter 值的字尾是否出現 Pattern,出現 Pattern 則取代成 
     String

範例:    

#!/bin/sh

var1="01234567890123456789"

echo ${var1/123/abc}
echo ${var1//123/abc}
echo ${var1/#012/ABC}
echo ${var1/%789/ABC}

結果:

0abc4567890123456789
0abc4567890abc456789
ABC34567890123456789
01234567890123456ABC

3. 大小寫置換
   a. 將字串中的小寫換成大寫

      ${Parameter^^?}

   b. 將字串中的大寫換成小寫

      ${Parameter,,?}

範例:

#!/bin/sh

var2="this is an example"
var3="THIS IS AN EXAMPLE"

echo ${var2^^?}
echo ${var3,,?}

結果:

THIS IS AN EXAMPLE
this is an example

沒有留言:

張貼留言