LinuxProbe 发表于 2021-1-6 22:31:06

在Linux命令行中进行大小写字符转换


在大小写之间转换文本可能非常繁琐,幸运的是Linux提供了一些命令,这些命令可以使工作变得非常简单。
环境
Centos7使用tr
如果有一个字符串要确保全部是大写的,只需通过tr命令替换:# echo "Hello World" | tr [:lower:] [:upper:]HELLO WORLD下面是在脚本中使用此命令的示例,需要确保添加到文件中的所有文本都是大写,以保持一致性:#!/bin/bashread -p "Enter department name: " deptecho $dept | tr [:lower:] [:upper:] >> depts将顺序切换为[:upper:] [:lower:]会会将所有大写字符转换成小写:#!/bin/bashread -p "Enter department name: " deptecho $dept | tr [:upper:] [:lower:] >> depts也可以使用”a-z” “A-Z”来替换大小写。#!/bin/bashread -p "Enter department name: " deptecho $dept | tr a-z A-Z>> depts下面几个函数是tr内置的:
[*][:alnum:] 所有字母和数字

[*][:alpha:] 所有字母

[*][:blank:] 所有空白

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

[*][:digit:] 所有数字

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

[*][:lower:] 所有小写字符

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

[*][:punct:] 所有的标点符号

[*][:upper:] 所有大写字符
使用awk
在awk中可以使用toupper()和tolower()函数,来转换大小写。
下面实例内容在文本里面写入,将输入的小写内容转换为大写:#!/bin/bashread -p "Enter department name: " deptecho $dept | awk ‘{print toupper($0)}’ >> depts下面实例内容在文本里面写入,将输入的大写内容转换为小写:#!/bin/bashread -p "Enter department name: " deptecho $dept | awk ‘{print tolower($0)}’ >> depts使用sed
在sed中可以使用\U&和\L&函数,来转换大小写。使用sed,将小写转换成大写:#!/bin/bashread -p "Enter department name: " deptecho $dept | sed 's//\U&/g' >> depts使用sed,将大写转换成小写:#!/bin/bashread -p "Enter department name: " deptecho $dept | sed 's//\L&/g' >> depts总结
在linux中有很多方式可以替换大小写字母,你可以选择一个能记住的命令使用。

pentium315 发表于 2021-1-8 20:24:38

哇!好棒的东东,感谢分享啊。{:6_267:}
页: [1]
查看完整版本: 在Linux命令行中进行大小写字符转换