在大小寫之間轉換文本可能非常繁瑣,幸運的是Linux提供了一些命令,這些命令可以使工作變得非常簡單。 |
環境
使用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中有很多方式可以替換大小寫字母,你可以選擇一個能記住的命令使用。