Linux终端中实现大小写字符转换

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中有很多方式可以替换大小写字母,你可以选择一个能记住的命令使用。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/7984.html

(0)
晴川运维晴川运维
上一篇 2025年6月11日
下一篇 2025年6月11日

相关推荐

  • 选择云计算数据库需要注意的几个方面

    关系数据库的应用已经有了半个世纪的历史,其各种子类别(如文档、键值数据库和缓存数据库)是IT领域中长期存在的部分。很多人可能会认为数据库创新的时代已经过去了。但是,云计算基础设施和…

    Linux系统 2025年6月25日
  • Linux中常用的监控工具

    本篇文章重点为大家讲解一下Linux中常用的监控工具,有需要的小伙伴可以参考一下。 1. iotop 如果你想知道某些进程使用了多少你宝贵的 I/O 资源,那么就使用 iotop …

    Linux系统 2025年6月11日
  • 详解Git-安装

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本…

    Linux系统 2025年6月9日
  • Linux中ping命令的特殊使用方法

    不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否…

    Linux系统 2025年7月8日
  • 详解Python虚拟环境virtualenv

    VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。 了解虚拟环境 如果在一台机器上,想…

    Linux系统 2025年6月19日
  • Linux中与用户账号相关的重要文件

    完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。 与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/…

    Linux系统 2025年6月9日
  • Linux下安装PHP的PDO

    PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,基于数据库使用的安全性,因…

    Linux系统 2025年6月26日
  • 服务之间调用RPC的原因是什么?

    RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范…

    Linux系统 2025年7月6日
  • 简单介绍一下HTTP X-Forwarded-For

    X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HT…

    Linux系统 2025年6月30日
  • Windows上面挂载NFS共享具体方法

    Windows上面如何挂载NFS共享?NFS普遍用于unix之间共享,windows默认是不支持这种文件系统的。如果我们要用windows访问NFS的话,而windows系统自身又…

    Linux系统 2025年6月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注