前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Bash中如何将字符串转换为小写

在Bash中如何将字符串转换为小写

作者头像
程序熵
修改2023-10-18 08:08:12
1510
修改2023-10-18 08:08:12
举报
文章被收录于专栏:技术汇技术汇

问:

在bash中有没有一种方法可以将字符串转换为小写字符串?

例如,如果我有:

代码语言:shell
复制
a="Hi all"

我想把它转换为:

代码语言:shell
复制
"hi all"

答:

有多种方法。

符合POSIX标准的:

使用 tr 命令

代码语言:shell
复制
$ a="Hi all"
$ echo "$a" | tr '[:upper:]' '[:lower:]'
hi all

使用 awk 命令

代码语言:shell
复制
$ a="Hi all"
$ echo "$a" | awk '{print tolower($0)}'
hi all

非POSIX标准的:

使用 bash 中的 Shell 参数扩展

代码语言:shell
复制
para="A Few WORDS"
echo "${para,,}"

bash 手册里关于这块的语法格式如下

代码语言:shell
复制
${parameter^pattern}
${parameter^^pattern}
${parameter,pattern}
${parameter,,pattern}

其中 "^" 运算符将匹配模式的小写字母转换为大写;"," 运算符将匹配的大写字母转换为小写。"^^" 和 ",," 扩展将转换扩展值中的每个匹配字符;"^" 和 "," 扩展仅匹配并转换扩展值中的第一个字符。

如果省略了 pattern,则将其视为 "?",它匹配每个字符。

使用 sed 命令

代码语言:shell
复制
str="Hello World"
echo $str | sed -e 's/\(.*\)/\L\1/'

使用 perl 命令

代码语言:shell
复制
str="Hello World"
echo $str | perl -ne 'print lc'

另外还可以使用 python 命令

代码语言:shell
复制
str="Hello World"
python -c "print '$str'.lower()"

参考:

相关阅读:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序熵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档