乐趣区

关于运维:在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 中有很多形式能够替换大小写字母,你能够抉择一个能记住的命令应用。

退出移动版