在 Shell Script 要將用戶的輸入的英文字母轉換大小寫,或者要將檔案內文字的英文字母轉換大小寫,可以透過 tr 指令實現。
先看看 tr 指令的使用方法, 轉換檔案內所有大寫字母到小寫:
$ tr ‘[:upper:]’ ‘[:lower:]’ < input.txt > output.txt
以上指令會將 input.txt 的檔案內容,全部大寫字母轉換為小寫,然後將結果匯入到 output.txt 檔案。
要將小寫轉換到大寫字母,只要將 upper 及 lower 倒轉即可:
$ tr ‘[:lower:]’ ‘[:upper:]’ < input.txt > output.txt
tr 指令除了可以轉換檔案內的大小寫字母外,同樣支援管線輸入,以下是在 Shell Script 內將變數轉換的方法:
|
1 2 |
echo $VAR | tr '[:upper:]' '[:lower:]' echo $VAR | tr '[:lower:]' '[:upper:]' |
如果 Bash 的版本是 4.x 或以上, 可以用以下方法:
|
1 2 |
$var="This is a Test." echo "${y,,}" |
以上會將全部字母轉換為小寫, 即會輸出 “this is a test.”.
要將全部字母轉換為大寫, 可以改成這樣:
|
1 2 |
$var="This is a Test." echo "${var^^}" |