在 Bash 中轉換字串的字母大小寫

Nilesh Katuwal 2023年1月30日
  1. 在 Bash 中使用 tr 轉換字串的字母大小寫
  2. 使用內建 Bash 4 功能轉換字串的字母大小寫
  3. 在 Bash 中使用 awk 轉換字串的字母大小寫
  4. 在 Bash 中使用 sed 轉換字串的字母大小寫
在 Bash 中轉換字串的字母大小寫

在 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.

讓我們對兩個字元 ri 做同樣的事情,並將它們轉換為大寫。

$ echo "${var^^[r,i]}"

輸出:

Example StRIng.

使用 ,, 代替^^ 轉換為小寫。

在 Bash 中使用 awk 轉換字串的字母大小寫

再次,

$ var="Example String."

要將所有字串轉換為小寫,我們使用 awktolower() 方法。它還有一個 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.

相關文章 - Bash String