首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正则表达式在高山linux中创建单词驼峰大小写

正则表达式在高山linux中创建单词驼峰大小写
EN

Stack Overflow用户
提问于 2018-08-23 04:06:05
回答 2查看 705关注 0票数 3

我在centos中尝试过这个正则表达式。

RegExecho 'select-value'|sed -r 's/(-)(\w)/\U\2/g'

输出selectValue

但是在阿尔卑斯山,当我尝试下面的正则表达式时,我得不到输出

RegExecho 'select-value'|sed -r 's/(-)(\w)/\%U\2/g'

输出select%Uvalue

预期输出selectValue

请推荐正确的正则表达式。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-23 05:36:55

看起来高山默认使用busybox sed。您必须安装gnu sed (它可能已经安装)。

在一个码头高山3.5容器中,我已经尝试过了,它工作在echo 'select-value'|/bin/sed -r 's/(-)(\w)/\U\2/g'。注意/bin/sed部分。Gnu已经安装在docker镜像中。

如果您还不能做到这一点,可以使用awk

代码语言:javascript
复制
echo 'select-value-another-value'|awk -F'-' '{ for(i=1; i<=NF; i++) printf toupper(substr($i,1,1)) substr($i,2);printf "\n"}'
票数 0
EN

Stack Overflow用户

发布于 2018-08-23 05:02:41

如果您不必使用sed,请尝试perl:

代码语言:javascript
复制
$ echo 'select-value-but-not-that-one'|perl -pe 's/-(\w)/\u$1/g'
selectValueButNotThatOne
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51974340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档