设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 698|回复: 1
收起左侧

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

[复制链接]
发表于 2021-1-6 22:31:06 | 显示全部楼层 |阅读模式
在大小写之间转换文本可能非常繁琐,幸运的是Linux提供了一些命令,这些命令可以使工作变得非常简单。
环境

Centos7

使用tr

如果有一个字符串要确保全部是大写的,只需通过tr命令替换:

[root@localhost ~]# 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/[a-z]/\U&/g' >> depts

使用sed,将大写转换成小写:

#!/bin/bashread -p "Enter department name: " deptecho $dept | sed 's/[A-Z]/\L&/g' >> depts总结

在linux中有很多方式可以替换大小写字母,你可以选择一个能记住的命令使用。


发表于 2021-1-8 20:24:38 | 显示全部楼层
哇!好棒的东东,感谢分享啊。
沙发 2021-1-8 20:24:38 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-3-29 06:26 , Processed in 0.056731 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表