Bash Shell 在 Linux 中将大写字母转换为小写字母
使用tr 命令将所有传入的文本/单词/变量数据从大写转换为小写或反之亦然(将所有大写字符转换为小写)。Bash 版本 4.x+ 用户可以使用参数扩展来修改参数中字母字符的大小写。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Linux 或 Unix 终端 |
类别 | Linux shell 脚本 |
操作系统兼容性 | BSD • Linux • macOS • Unix • WSL |
预计阅读时间 | 5 分钟 |
如何在 Bash 中将字母转换为小写
- 要将大写字母转换为小写字母,请输入:
$ echo "THIS IS MY DATA" | tr '[:upper:]' '[:lower:]'
- 使用输入重定向运算符将文件内容转换为小写:
$ tr '[:upper:]' '[:lower:]' < input_file.txt > output_file.txt
让我们详细了解示例和语法。
将文件中的所有文本从大写转换为小写
要翻译或删除字符,请使用 tr 命令。基本语法是:
$ tr 'set1' 'set2' input
或
$ tr 'set1' 'set2' input > output
在 shell 提示符下键入以下命令,将所有大写文本转换为小写并存储到 output.txt 文件中:
$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt
$ cat output.txt
在 Linux 上使用 tr 命令进行大写和小写之间的转换(点击放大)
将存储在 Shell 变量中的数据从大写转换为小写:
打开终端,然后键入以下命令,在 Bash 中将字符串转换为小写。例如:
$ var_name="THIS IS a TEST"
$ echo "$VAR_NAME" | tr '[:upper:]' '[:lower:]'
$ movie="The Matrix"
$ echo "$movie" | tr '[:lower:]' '[:upper:]'
更改 Bash/sh/ksh/zsh/fish 下变量中的文本大小写
使用 bash 将小写字母更改为大写字母
bash 版本 4.x+ 有一些有趣的新功能。您可以使用以下命令查看 bash 版本:
输入以下命令将其转换为大写:
这是我看到的:
$ bash --version
$ echo "${BASH_VERSION}"
$y
$ y="this Is A test"
$ echo "${y^^}"
THIS IS A TEST
使用 bash 将大写字母更改为小写字母
输入以下命令将其转换$x为小写:
再次,我们看到以下内容:
$ x="THIS IS a TeSt"
$ echo "${x,,}"
this is a test
在 Bash 中将字符串转换为大写或反之亦然(点击放大)
if [ "${disk_data['type'],,}" == fat32 ]; then disk_data['type']=vfat fi
如何在 Bash 中将字符串转换为小写
尝试以下脚本:
#!/bin/bash # Get filename as user input echo -n "Enter File Name : " read fileName # Make sure file exits for reading if [ ! -f $fileName ]; then echo "Filename $fileName does not exists." exit 1 fi # Now, convert uppercase to lowercase using the tr command tr '[A-Z]' '[a-z]' < "$fileName" # Note Bash version 4 user should use builtins as discussed above if needed.
如何使用将字符串转换为小写awk?
语法如下:
############################## # convert to shell lowercase # ############################## awk '{print tolower($0)}' <<<"DEMO" var="Foo BAR" awk '{print tolower($0)}' <<<"${var}" echo "$var" | awk '{print tolower($0)}' ########################## # convert to UPPERCASE ### ########################## awk '{print toupper($0)}' <<<"This is a TesT" quote="If you're yelling you're the one who's lost control of the conversation." echo "${quote}" | awk '{print toupper($0)}' awk '{print toupper($0)}'<<<"${quote}"
在哪里,
- tolower(str):返回字符串 str 的副本,其中 str 中的所有大写字符均转换为相应的小写字符。非字母字符保持不变。
- toupper(str):返回字符串 str 的副本,其中 str 中的所有小写字符均转换为相应的大写字符。非字母字符保持不变。
Perl将大写字母转换为小写字母的示例
语法很简单:
################################ # convert to lowercase by 'lc' # ################################ echo 'Have a good evening' | perl -ne 'print lc' var="/EFS/NFS/www_DATA" echo "$var" | perl -ne 'print lc' perl -ne 'print lc'<<<"This Is a Demo 4234" ################################# # convert to UPPWERCASE by 'uc' # ################################# perl -ne 'print uc'<<<"shutup" yell="shutup" echo "$yell" | perl -ne 'print uc' perl -ne 'print uc' <<<"${yell}"
综合起来
很久很久以前,我曾拙劣地创建了一个 Python CGI Web 应用程序。以下是所有文件的样子:
$ ls
以下是我所看到的:
accounts.py app.py APP.PY ContactUS.PY EMAIL.py MAIN.PY PassworDResET.pY Routing.PY
让我们仅使用常规 bash 内部工具和mv 命令将所有这些文件名转换为小写:
for f in *[[:upper:]]* do mv -v -- "$f" "${f,,}" done
将[[:upper:]]匹配当前目录中的所有大写字符。使用 ls 命令进行验证:
$ ls
有关更多信息,请参阅以下重命名相关教程:
总结
您学习了如何使用 Bash 和tr 命令更改变量中文本的大小写。tr、Perl 或 awk 命令无论 shell 版本或 Unix 变体如何都可以使用。请参阅 bash 手册页。输入 man 命令:
$ man bash
$ man awk
$ man perl
$ man tr
推荐阅读:
- 有关详细信息,请参阅tr 命令 shell 脚本示例。
你注意到了吗????
加入Patreon ➔ PayPal ➔