我如何更改字元大小寫(從下到上,反之亦然)?同時

我如何更改字元大小寫(從下到上,反之亦然)?同時

輸入

   > a='Vikas'
   > echo $a
    Vikas

我需要的輸出是

echo $a | <some command>

vIKAS

答案1

$ echo Vikas | LC_ALL=C tr a-zA-Z A-Za-z
vIKAS

該實用程式tr翻譯字元;它需要兩個代表字符集的參數;然後,它將標準輸入複製到標準輸出,並將第一組中找到的每個字元替換為第二組中的相應字元。在此應用程式中,它將小寫字母替換為大寫字母,反之亦然。請參閱tr(1) 的手冊頁了解詳細資訊以及可以執行的其他處理tr

答案2

您可以使用帶有 [:upper:] 和 [:lower:] 選項的 tr 命令,如下所示:

echo "aBcDeF" |tr '[:upper:][:lower:]' '[:lower:][:upper:]'
AbCdEf

您也可以使用 sed 指令(代表「流編輯器」),如下所示:

echo "abcd ABCD" |sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'

sed 具有更大的靈活性,這意味著您可以定義任何字元映射。例如,您可以使用以下命令將數字轉換為駭客字母:

echo "52065218802365" |sed 'y/0123456789/OIZEhSGLBP/'
SZOGSZIBBOZEGS

(字元映射參考)

相關內容