在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中有很多方式可以替換大小寫字母,你可以選擇一個能記住的命令使用。

原文地址:https://www.linuxprobe.com/linux-upper-lower.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章