在 Bash 中轉換字串的字母大小寫
Nilesh Katuwal
2023年1月30日
-
在 Bash 中使用
tr
轉換字串的字母大小寫 - 使用內建 Bash 4 功能轉換字串的字母大小寫
-
在 Bash 中使用
awk
轉換字串的字母大小寫 -
在 Bash 中使用
sed
轉換字串的字母大小寫
在 bash 命令中,字串資料用於各種功能。
我們有時需要修改字串大小寫來獲得想要的結果。可以轉換大小寫字串。
在 Bash 中使用 tr
轉換字串的字母大小寫
在以前的 bash 版本中,字串資料是使用 tr
命令翻譯的。術語:upper
用於大寫字母,而關鍵字:lower
用於小寫字元。
讓我們看一個例子。
echo "Changing All to LOWERCASE" | tr [:upper:] [:lower:]
輸出:
changing all to lowercase
如果我們改變:upper:
和:lower:
的位置為:
echo "Changing All to UPPERCASE" | tr [:lower:] [:upper:]
輸出將是:
CHANGING ALL TO UPPERCASE
我們必須在後面加上 :lower:
才能將字串轉換為小寫,反之亦然。
使用內建 Bash 4 功能轉換字串的字母大小寫
使用 Bash 4 的新功能,你可以更輕鬆地轉換字串大小寫。
^
符號將任何字串的第一個字元轉換為大寫,而^^
符號將整個字串轉換為大寫。 ,
符號用於小寫初始字元,而 ,,
符號用於小寫整個字串。
例如,讓我們宣告本節示例中使用的變數。
$ var="Example String."
我們想讓變數 var
中的所有字母都大寫。
$ echo "${var^^}"
輸出:
EXAMPLE STRING.
或者也許我們想把第一個字母變成小寫。
$ echo "${var,}"
輸出:
example String.
現在,讓我們通過選擇它並首先將字串中的 i
字元更改為大寫來更改字元的字母大小寫。
$ echo "${var^^i}"
輸出:
Example StrIng.
讓我們對兩個字元 r
和 i
做同樣的事情,並將它們轉換為大寫。
$ echo "${var^^[r,i]}"
輸出:
Example StRIng.
使用 ,,
代替^^
轉換為小寫。
在 Bash 中使用 awk
轉換字串的字母大小寫
再次,
$ var="Example String."
要將所有字串轉換為小寫,我們使用 awk
的 tolower()
方法。它還有一個 toupper()
函式將所有字串轉換為大寫。
$x
指的是當前記錄的欄位。 $0
是指整個記錄的特殊情況。
$ echo "$var" | awk '{print tolower($0)}'
輸出:
example string.
要將所有字串轉換為大寫:
$ echo "$var" | awk '{print toupper($0)}'
輸出:
EXAMPLE STRING.
在 Bash 中使用 sed
轉換字串的字母大小寫
sed
指令碼由替換命令組成。替代命令是 s/old/new/
,它在文字中搜尋與正規表示式 old
匹配的內容並將其替換為 new
。
再次,
$ var="Example String."
s/.*/\L&/
匹配輸入中的任何字元並將其替換為相同字元的小寫版本。
$ echo "$var" | sed 's/.*/\L&/'
輸出:
example string.