Bash 转换字符串小写(4 种方法)

2023-11-07

在编程中,您经常会发现自己正在处理文本字符串。在 Bash 脚本编写中,您可能遇到的一项常见任务是需要将字符串转换为小写。出于诸如使字符串比较不区分大小写或规范化用户输入等原因,这可能是必要的。在本文中,我们将探索在 Bash 中将字符串转换为小写的不同方法。

1.使用Bash的内置参数扩展

Bash 4.0 及更高版本具有内置的字符串操作支持。参数扩展是一项强大的功能,可让您直接操作 shell 变量。要将字符串转换为小写,可以使用`{变量,}`句法。它的工作原理如下:

1
2
3
string=“你好世界”
小写字符串=“${字符串,}”
echo $小写字符串

当您运行此脚本时,它会打印 hello world。

The `${字符串,}`语法简单方便。但是,它仅适用于 Bash 4.0 及更高版本。如果您使用的是较旧的 Bash 版本,或者不支持此功能的其他 shell,则需要使用不同的方法。

2.使用tr命令

The `tr`Unix 和类 Unix 操作系统中的命令用于翻译或删除字符。我们可以利用 tr 将字符串转换为小写:

1
2
3
string=“你好世界”
小写字符串=$(echo $string | tr '[:上:]' '[:降低:]')
echo $小写字符串

在这个脚本中,`tr '[:upper:]' '[:lower:]'`将所有大写字符转换为小写。这`$(…)`语法是命令替换。它运行命令并用命令的输出替换命令本身。

3. 使用awk命令

awk 命令是一个功能强大的文本处理命令。它具有将字符串转换为小写的内置函数。使用方法如下:

1
2
3
string=“你好世界”
小写字符串=$(echo $string | awk '{打印到下面($0)}')
echo $小写字符串

在这个脚本中,`awk '{print tolower($0)}'`调用 tolow 函数`$0`,代表整条线。

4.使用sed命令

The `sed`命令是流编辑器的缩写,可以执行许多文件操作功能,也可以用于 bash 脚本中的字符串操作。要使用 sed 将字符串转换为小写,请使用以下命令:

1
2
3
string=“你好世界”
小写字符串=$(echo $string | sed -e 's/\(.*\)/\L\1/')
echo $小写字符串

在这个脚本中,`sed -e 's/\(.*\)/\L\1/'`正在发挥所有魔力。第一个斜杠之前的 s 是替代命令。括号(.*\)内的部分是要匹配的模式,可以是任意字符(.*),并且`\1`是对整个字符串的反向引用。`\L`使所有后续字符小写,直到`\E`或结束`$1`多变的。

结论

将字符串转换为小写是许多脚本场景中的常见要求,无论是数据验证、数据转换还是特定的软件逻辑。 Bash 为我们提供了多种将字符串转换为小写的方法。最佳使用方法取决于您的具体情况,例如您正在使用的 Bash 版本以及是否允许您使用外部命令,例如`tr`, `awk`, or `sed`。了解执行同一任务的多种方法总是一个好主意,因为它可以在编写脚本时提供更大的灵活性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 转换字符串小写(4 种方法) 的相关文章

  • ubuntu pptp

    Hi 1 安装pptp linux sudo apt get install pptp linux binutils 2 建立pptp连接 sudo pptpsetup create testvpn server 45 77 243 243
  • 在Ubuntu18.04上安装Docker CE的方法

    卸载旧版本 如果之前安装旧版本 需要先卸载 1 sudoapt get remove docker docker engine docker io containerd runc 设置仓库 更新apt包索引 1 sudoapt get up
  • Java实验3 员工管理系统

    Java实验3 员工管理系统 文章目录 Java实验3 员工管理系统 toc 1 实验要求 2 具体创建过程 3 结果展示 4 代码展示 1 实验要求 进行一个企业员工基本信息的数据库设计 使用员工信息表 部门信息表两个数据表来存放数据 选
  • SSM集成Redis的小案例

    一 详情介绍 这里是使用Window版本的Redis 将下载好的Windows版本的Redis压缩包解压到一个目录下 客户端使用的是Redis Desktop Manager 使用Redis需要启动相应的服务 操作如下图所示 备注 双击打开
  • LDAP应用技术简述

    LDAP应用技术简述 一 一 简介 a X500 目录服务 OSL X 500目录是基于OSI网络协议的目录服务协议 也是LDAP的前身 但是X 500的缺点是不支持TCP IP 而是支持OSI协议 显然 在 Windows等个人电脑上不可
  • Jenkins

    Jenkins 文章目录 Jenkins 1 Jenkins概述 Jenkins特性 2 系统集成工具 Jenkins和Hudson 3 部署方案 手动部署流程 自动化署流程 4 Jenkins svn自动部署 环境准备 yum部署Jenk
  • Linux安装Oracle JDK

    从公司云平台申请的虚拟机默认安装了open jdk 想改成oracle 官方的jdk 1 检查系统jdk版本 root localhost software java version openjdk version 1 8 0 102 Op
  • vue js 获取yaml文件内容并且将文件内容转换为JSON

    写在公共js内 export function eadFile file const reader new FileReader const promise new Promise resolve reject gt reader onlo
  • 通过libusb读取鼠标数据

    include
  • 临界区锁 InitializeCriticalSection()--- EnterCriticalSection()--LeaveCriticalSection()

    1 InitializeCriticalSection 此函数初始化一个临界区对象 格式 void InitializeCriticalSection LPCRITICAL SECTION lpCriticalSection 参数 lpCr
  • C++ VTK 8.2 如何绘制弹簧图形

    创建圆柱 vtkSmartPointer
  • c++primer 第十五章笔记

    15 1 oop 概述 面向对象程序设计核心思想 数据抽象 继承 动态绑定 继承 联系在一起的类构成一种层次关系 通常在层次关系的根部有一个基类 派生类 其他类则直接或间接地从基类继承而来 继承示例代码 class Quote public
  • c语言之矩阵

    矩阵作为线性代数核心内容之一也是刷题人时常会遇到的一种类型 本篇博客简单介绍一下矩阵转置 上三角矩阵以及杨氏矩阵 1 转置矩阵 输入m行n列的矩阵以n行m列的方式打印出来 只要将数组的行列进行交换即可 并不难想也不难写 相应练习 牛客网BC
  • 【GPIO】通用输入/输出工作模式原理

    1 GPIO基本结构 保护二极管 IO引脚上下两边两个二极管用于防止引脚外部过高 过低的电压输入 当引脚电压高于VDD时 上方的二极管导通 当引脚电压低于VSS时 下方的二极管导通 防止不正常电压引入芯片导致芯片烧毁 P MOS管和N MO
  • C/C++什么是内存泄露,内存泄露如何避免?

    C C 什么是内存泄露 内存泄露如何避免 1 内存溢出 2 内存泄漏 3 造成内存泄露常见的三种情况 3 1 指针重新赋值 3 2 错误的内存释放 3 3 返回值的不正确处理 4 如何避免内存泄露 5 内存泄露检测工具valgrind 1
  • abstract方法必须在abstract类中 这句话是对的还是错的?

    对 参考文章 https zhidao baidu com question 435526297 html interface中所有的方法都是抽象的 抽象类中部分方法是抽象的 实现interface接口的类必须重写全部方法 而继承抽象类的子
  • UE4(虚幻4)基础:编辑样条曲线实现道路

    一 新建地形 在模式中点击山形状的图标会出现以下界面 下面那几个你可以自己随便调节一下看看都是干什么 都是可视化的东西 很简单 至于这个材质球 在你创建项目的时候如果是默认的 那么系统会默认给你添加新手包 找到StartContent这个文
  • java的动态代理过程

    重点知识回顾 反射机制 在运行期间 对于任意类都能知道它的所有属性和方法 对于任意对象都能调用它的属性和方法 静态代理 通过编写代码完成增强效果 即是通过我们自己编写相关的代码实现增强效果 java的动态代理过程 我们都知道java动态代理
  • 缺失值填充4——使用线性模型(岭回归、Lasso回归、ElasticNet回归)填充序列缺失值

    原始的问题可能是 一个X 包含x1 x2 缺失x x3 预测 gt y 模型填充缺失值 使用 x1 x2 x3 y 预测 gt 缺失x 算法思路 Lasso回归 在线性回归结尾加入绝对值和的正则化方法 L1正则 岭回归 在线性回归结尾加入平
  • 7.集成测试

    一 集成测试介绍 测试 单元测试 集成测试 系统测试 软件开发 需求 高层设计 底层设计 代码 灰盒测试 定义 集成测试 集成测试 综合测试 联合测试 整体测试测试 实验测试 集成测试是软件测试的阶段 在该阶段中 各个软件模块被组合在一起并

随机推荐

  • MD5算法是什么?

    MD5 消息摘要算法 5 是一种广泛使用的加密哈希函数 可生成 128 位 16 字节 哈希值 它由 Ronald Rivest 于 1991 年设计 用于从可变长度输入生成固定大小的输出 该输出代表输入的指纹 为什么 MD5 很重要 传输
  • 如何使用 Homebrew 在 macOS 上安装 NVM

    Node Version Manager NVM 是一种广泛使用的工具 允许开发人员在单台计算机上管理 Node js 的多个版本 它的重要性怎么强调都不为过 因为 Node js 应用程序有时可能是特定于版本的 并且不同的项目可能需要不同
  • 在 Shell 脚本中高效地逐行读取文件

    逐行读取文件是许多 shell 脚本中的常见任务 因为它允许您单独处理文件的每一行并根据每一行的内容执行操作 在 Linux shell 脚本中逐行读取文件的方法有多种 但有些方法比其他方法更有效 在本文中 我们将探讨在 Linux she
  • Bash 变量简介

    在上一篇文章中 我们讨论了本地 Bash 变量和全局 Bash 变量之间的差异 您可以在此处阅读 基于这种理解 今天我们将更深入地了解 Bash 脚本世界 重点关注 Bash 变量 我们将探讨定义变量的规则 可以对它们执行的操作以及它们如何
  • 如何在 Debian 11 上安装 Wine 8.0

    Winehq团队于2023年1月24日发布了最新稳定版本8 0 其源代码可以从其官方网站下载 您还可以使用包管理器来安装 wine Wine 是 Windows API 的开源实现 并且始终是免费软件 大约一半的源代码是由其志愿者编写的 其
  • Top 命令输出解释:初学者简介

    The top 命令是一个 Linux 实用程序 用于显示有关系统上正在运行的进程的实时信息 它提供系统当前状态的摘要 包括 CPU 内存和交换使用情况 以及正在运行的进程及其资源利用率的列表 使用 top 命令很简单 只需输入 top 在
  • 如何在 PHP 中验证日期字符串:探索多个选项

    日期验证是许多 Web 应用程序的重要组成部分 因为它确保用户输入正确且有意义的日期 PHP 是一种流行的服务器端脚本语言 它提供了多种函数来帮助开发人员轻松验证日期字符串 在本文中 我们将讨论在 PHP 中验证日期字符串的不同方法 包括内
  • 在 PHP 中处理时区的高级技术

    处理时区是在基于 Web 的应用程序中处理日期和时间的一个重要方面 在 PHP 中 设置默认时区是关键的第一步 但是有几种处理时区的高级技术可以帮助您构建更强大和更准确的应用程序 在本文中 我们将讨论在 PHP 中处理时区的高级技术 在时区
  • MySQL 使用 LIKE 区分大小写搜索

    LIKE语句用于在MySQL中搜索包含部分字符串的记录 默认情况下 带有 LIKE 的查询会匹配不区分大小写的记录 意味着查询将匹配小写或大写的两条记录 例如 搜索颜色表中名称以 Gr 开头的所有记录 mysql gt SELECT nam
  • 如何在 Linux 上安装 Apache OFBiz

    阿帕奇 OFBiz Apache Open For Business 项目 是一个开源 ERP CRM 系统 来自阿帕奇基金会可靠 安全和可扩展的企业解决方案的起点 它提供完整的会计 分类帐 库存管理 CRM 和项目管理系统 此外 OFBi
  • 使用 Pg_dump 备份和恢复 PostgreSQL 数据库

    PostgreSQL 是一种流行的开源关系数据库管理系统 用于 Web 应用程序 商业智能和其他数据密集型应用程序 管理 PostgreSQL 数据库的一个关键方面是通过制定备份和恢复策略来确保数据保护 在本文中 我们将提供有关如何备份和恢
  • Bash 脚本中出现错误时退出的综合指南

    Bash 脚本对于系统管理员 程序员甚至想要自动执行重复任务的普通用户来说都是必不可少的工具 然而 当脚本由于错误或不可预见的情况而未按预期运行时 可能会成为令人沮丧的根源 正确的错误处理对于维护脚本的可靠性 一致性和性能至关重要 本文将提
  • 如何使用 Sed 命令替换文件中的字符串

    您是否遇到过需要替换许多文件中的单词或句子的情况 您可以复制并粘贴它 或者也许有一个现有的脚本可以完成这项工作 但是 如果您只需要在其他地方用另一个单词或句子替换它呢 您可以使用 find 但这太通用了 需要为此任务编写脚本 如果您甚至不知
  • ss 与 netstat 命令之间的比较

    在 Linux 中进行网络分析和故障排除时 最常用的两个命令是 ss 和 netstat 这两个命令都允许您显示有关网络连接和套接字的信息 但它们在功能 速度和效率方面有所不同 在本文中 我们将比较 ss 和 netstat 命令的功能 性
  • 什么是主目录?

    在操作系统领域 无论是 Linux MacOS 还是 Windows 主目录的概念在维护用户数据 隐私和整个系统组织方面发挥着重要作用 了解主目录的重要性和功能对于任何使用计算机的人来说都是至关重要的 什么是主目录 主目录在 Unix 和类
  • 添加 Git 远程源存储库的实用指南

    Git 已成为全球开发人员不可或缺的工具 可实现高效的代码版本控制和协作 Git 最强大的功能之一是它能够使用远程存储库 这使得团队能够无缝协作进行项目 在本文中 我们将指导您完成将 Git 远程存储库添加到本地项目的过程 帮助您简化协作并
  • 如何在 Debian 9 (Stretch) 上安装 Ansible

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 本教程将帮助您在 Debian 9 Stret
  • 如何列出 Ubuntu 和 Debian 中已安装的存储库

    存储库是 Linux 操作系统的软件包集合 您可以创建一个包含实际包的中央存储库 然后配置其他系统以与主存储库连接 从那里 您可以安装 更新软件包 Ubuntu 和其他基于 Debian 的系统使用 APT 高级软件包工具 作为软件包管理器
  • 如何使用屏幕截图安装 Debian 11 (Bullseye)

    Debian 11 0于2021年8月14日发布 Debian 11的代号是Bullseye Debian 是广泛使用的 Linux 操作系统之一 也是企业设置和配置服务器的流行选择 它刚刚发布了名为 Bullseye 的最新版本 Bull
  • Bash 转换字符串小写(4 种方法)

    在编程中 您经常会发现自己正在处理文本字符串 在 Bash 脚本编写中 您可能遇到的一项常见任务是需要将字符串转换为小写 出于诸如使字符串比较不区分大小写或规范化用户输入等原因 这可能是必要的 在本文中 我们将探索在 Bash 中将字符串转