在Linux行内如何直接进行大小写转换

71次阅读
没有评论

共计 2016 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关在 Linux 行内如何直接进行大小写转换的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

tr 命令

tr (translate)   是能运用在命令行或者脚本上的最简单的大小写转换命令之一。例如如果你想要让一串字符串全部是大写字母,你可以用如下所示的命令完成这个内容:

$ echo hello alvin | tr [:lower:] [:upper:] HELLO ALVIN

以下为该命令应用在脚本上的例子,写入文件 depts 的内容全会是大写的格式:

$ echo  Enter department name:   | tr [:lower:] [:upper:]   depts

上面命令的顺序换为 [:upper:] [:lower:] 将会得到相反的结果,所有输入的字母都将变为小写字母:

$ echo  Enter department name:   | tr [:upper:] [:lower:]   depts

你可以用 A-Z a-z 代替 [:upper:] [:lower:] 来达到相同的效果:

$ echo  Enter department name:   | tr a-z A-Z   depts

awk 命令

awk 命令用 toupper 和 tolower 这两个选项完成大小写转换。上文所述的对脚本进行的大小写转换可以用这个命令以如下的方式完成:

$ echo  Enter department name:   | awk  {print toupper($0)}    depts

以上是转换成大写字母,下面为转换为小写字母的方法:

$ echo  Enter department name:   | awk  {print tolower($0)}    depts

sed 命令

sed (stream editor) 命令同样能够很好完成大小写转换的工作,下面的命令也能够达到前面两个命令的效果:

$ echo  Enter department name:   | sed  s/[a-z]/\U /g    depts

要想完成相反的转换,只需把上面那条命令中的 U 换成 L、[a-z] 换成 [A-Z] 即可:

$ echo  Enter department name:   | sed  s/[A-Z]/\L /g    depts

修改文件里文本内容的大小写格式

awk 和 sed   命令都可以完成对整个文档内容的大小写转换工作,所以如果你需要把整个文档内容转换成小写,你可以用如下命令以小写的形式输出某文件的内容至屏幕上:

$ awk  {print tolower($0)}  depts

其结果如下:

enter department name: finance billing bookkeeping

注意此结果只是将打印在屏幕的内容转换为了小写,本身文档内的大写字母并无变动,使用 cat depts   命令查看便可知道。如果你想要确实地修改文档内容的大小写,你可以用如下命令完成:

$ awk  {print tolower($0)}  depts   depts- $ mv depts- depts

sed 命令可以完成和 awk 相同的功能,只是用法上略有不同,其使用方法如下:

$ sed  s/[A-Z]/\L /g  depts

只让首字母大写

只让一串字符串中各个单词的首字母大写,可以用如下的命令完成:

$ echo design \  engineering| sed -e  s/\b\(.\)/\u\1/g  Design   Engineering

上面这一条命令可以只让首字母大写而其他字母不变。

确保只有首字母大写

当你需要对一大批文本进行这个操作的时候,比如要以正确的格式显示一大批人的姓名时,需要做的事情会变得稍微难一些。这里提供两种方法完成这个任务:

用 sed 命令完成

为了确保结果正确,需要更加复杂的 sed 命令格式:

$ echo design \  ENGINEERING | sed  s/\b\([[:alpha:]]\)\([[:alpha:]]*\)\b/\u\1\L\2/g  Design   Engineering

用 python 代码完成

如果你的 Linux 上安装了 python,你可以用如下的命令完成对文本的首字母大写格式化,python 代码比上文的 sed   命令的正则式要容易理解多了:

$ echo -n  design   engineering  | python3 -c  import sys; print(sys.stdin.read().title())  Design   Engineering

感谢各位的阅读!关于“在 Linux 行内如何直接进行大小写转换”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-02-04发表,共计2016字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)