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日

相关推荐

  • Java基础HashSet使用详解

    HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。 一. Hash…

    Linux系统 2025年7月5日
  • 快速上手Vue.js

    Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我…

    Linux系统 2025年7月9日
  • Linux中配置HAProxy实现Web负载均衡

    HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 一、测试环境 HAPr…

    Linux系统 2025年6月19日
  • Java中JAR包、EAR包、WAR包有什么区别?

    Java中的JAR包、EAR包、WAR包你知道有什么区别吗?本篇文章为大家讲解一下Java中JAR包、EAR包、WAR包。 WAR包 WAR(Web Archive file)网络…

    Linux系统 2025年7月10日
  • Linux i2c子系统(一) :编写i2c设备驱动

    I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时串行总线,常用于微控制器与外设之间的连接。本文…

    Linux系统 2025年6月8日
  • 通过haproxy+keepalived实现高可用配置

    HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,它是免费、开源、快速并且可靠的一种解决方案。 haproxy能够实现的功能 4层负载均衡,透明代理,7层负载…

    Linux系统 2025年6月10日
  • tomcat 性能优化

    tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈,本篇文章重点为大家讲解一下tomcat 性能优化。 Tomcat连接器…

    Linux系统 2025年10月6日
  • 2022 年 5 个新 sudo 功能

    最近的 sudo 版本增加了新的功能,使你能够观察和控制以前隐藏的问题。 当你想授予你的一些用户管理权限,同时控制和检查他们在你的系统上做什么时,你会使用 sudo。然而…

    Linux系统 2025年6月11日
  • Linux下使用Linfo显示服务器运行状况

    Linfo 是一个自由开源的跨平台的服务器统计 UI 或库,它可以显示大量的系统信息。Linfo 是可扩展的,通过 composer,很容易使用 PHP5 库以程序化方式获取来自 …

    Linux系统 2025年6月8日
  • Linux系统如何使用lsmod命令列出内核模块

    Linux系统如何使用lsmod命令列出内核模块?lsmod是一个命令行实用程序,用于显示有关已加载的Linux内核模块的信息,下面为大家分享一下Linux系统使用lsmod命令列…

    Linux系统 2025年10月23日

发表回复

登录后才能评论