无名商城论坛

搜索
查看: 269|回复: 0

[其他技术] 【WD】Linux命令行:对内容进行大小写字符转换 ????

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 15:13:25 | 显示全部楼层 |阅读模式
如果有一个字符串要确保全部是大写的,只需通过 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中有很多方式可以替换大小写字母,你可以选择一个能记住的命令使用。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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