Shell之字符串大小寫轉換

方案1:使用tr命令

  • Linux中的tr命令可以用於轉換或刪除文本中的指定字符。tr命令默認從標準輸入中讀取數據,經過字符串轉義之後,將結果輸出到標準輸出。
# 使用tr命令將字符串中小寫字符轉換成大寫
echo "TomAndersen" | tr a-z A-Z
# TOMANDERSEN

# 同理大寫轉小寫
echo "TomAndersen" | tr A-Z a-z
# tomandersen

# 使用tr命令轉換字符串中全部指定字符
echo "Hello Hello" | tr Ho hO
# hellO hellO

# 使用tr命令刪除文本中全部指定字符
echo "Hello Hello" | tr -d H
# ello ello


方案2:使用awk命令

  • awk工具是一種強大的文本分析工具,主要功能是將每行文本按照特定分隔符分成多個字段進行處理,默認每行使用空格和製表符分割,使用自帶的tolower函數能夠將指定的字段全部字符轉換成小寫,使用toupper函數能夠將全部字符轉換成大寫。
# 使用awk命令tolower函數將字符串轉換成小寫
echo "Tom Andersen" | awk '{print tolower($0)}'
# tom andersen

# 使用awk命令toupper函數將字符串轉換成大寫
echo "Tom Andersen" | awk '{print toupper($0)}'
# TOM ANDERSEN

方案3:利用Bash特性

  • 在讀取變量時使用^^字符能夠將輸出字符轉換成全大寫,使用,,字符能夠將輸出字符轉換成全小寫
# 讀取變量輸出全大寫
var1 = 'TomAndersen'
echo ${var1^^}
# TOMANDERSEN

# 讀取變量輸出全小寫
var2 = 'TomAndersen'
echo ${var2,,}
# tomandersen

方案4:使用typeset/declare命令

  • 使用typeset或者declare命令設置變量的屬性,兩個命令使用方式完全相同。使用此命令時需慎重,當使用typeset/declare命令改變變量的屬性時,這種改變是長期有效的,且如果將變量設置爲只讀命令,那麼一般情況下將無法修改此變量的只讀屬性(可以通過gdb工具重置變量),只讀變量生命週期一般與當前Shell線程相同
# 使用typeset/declare聲明變量的屬性,將其設置爲默認大寫
typeset -u a
a ="abc"
echo $a
# ABC

# 使用typeset/declare聲明變量的屬性,將其設置爲默認小寫
typeset -l a
a = "ABC"
echo $a
# abc

End~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章