在Linux命令行中進行大小寫字符轉換


在大小寫之間轉換文本可能非常繁瑣,幸運的是Linux提供了一些命令,這些命令可以使工作變得非常簡單。
環境

Centos7

使用tr

如果有一個字符串要確保全部是大寫的,只需通過tr命令替換:

[root@localhost ~]# echo "Hello World" | tr [:lower:] [:upper:]
HELLO WORLD

下面是在腳本中使用此命令的示例,需要確保添加到文件中的所有文本都是大寫,以保持一致性:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | tr [:lower:] [:upper:] >> depts

將順序切換為[:upper:] [:lower:]會會將所有大寫字符轉換成小寫:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | tr [:upper:] [:lower:] >> depts

也可以使用”a-z” “A-Z”來替換大小寫。

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | tr a-z A-Z>> depts

下面幾個函數是tr內置的:

    • [:alnum:] 所有字母和數字

 

    • [:alpha:] 所有字母

 

    • [:blank:] 所有空白

 

    • [:cntrl:] 所有控制字符

 

    • [:digit:] 所有數字

 

    • [:graph:] 所有可打印字符,不包括空格

 

    • [:lower:] 所有小寫字符

 

    • [:print:] 所有可打印字符,包括空格

 

    • [:punct:] 所有的標點符號

 

  • [:upper:] 所有大寫字符
使用awk

在awk中可以使用toupper()和tolower()函數,來轉換大小寫。
下面實例內容在文本里面寫入,將輸入的小寫內容轉換為大寫:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | awk ‘{print toupper($0)}’ >> depts

下面實例內容在文本里面寫入,將輸入的大寫內容轉換為小寫:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | awk ‘{print tolower($0)}’ >> depts
使用sed

在sed中可以使用\U&和\L&函數,來轉換大小寫。

使用sed,將小寫轉換成大寫:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | sed 's/[a-z]/\U&/g' >> depts

使用sed,將大寫轉換成小寫:

#!/bin/bash

read -p "Enter department name: " dept
echo $dept | sed 's/[A-Z]/\L&/g' >> depts
總結

在linux中有很多方式可以替換大小寫字母,你可以選擇一個能記住的命令使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM