gpt4 book ai didi

bash - 在 bash 4 中将每个单词的第一个字符设置为大写,将其他字符设置为小写?

转载 作者:行者123 更新时间:2023-12-05 09:17:17 25 4
gpt4 key购买 nike

bash 中有一个很好的小写/大写功能:

$ string="A FEW WORDS"
$ echo "${string,}"
a FEW WORDS
$ echo "${string,,}"
a few words
$ echo "${string,,[AEIUO]}"
a FeW WoRDS

有人知道将变量上每个单词的第一个字符设置为大写并将每个单词的其余字符设置为小写的类似方法吗?

$ echo "${string,,[^.]}"
a few words
$ echo "${string,,[^]}"
A FEW WORDS
$ echo "${string,,.}"
A FEW WORDS
$ echo "${string,,^.}"
A FEW WORDS
$ echo "${string,,^?}"
A FEW WORDS
$ echo "${string,,?}"
a few words

最佳答案

GNU sed 等文本处理工具可以在这方面为您提供帮助:

$ sed -E 's/(\w)(\w*)/\U\1\L\2/g' <<<"$string"
A Few Words

这会为每个单词捕获两组(一个单词字符,后跟零个或多个单词字符)。替换使用 \U 将第一组大写,使用 \L 将其余部分小写。

\w[[:alnum:]_] 的简写,即在您的语言环境中被认为是字母或数字的任何内容,加上 _.

关于bash - 在 bash 4 中将每个单词的第一个字符设置为大写,将其他字符设置为小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48709215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com