正则表达式在 alpine linux 中制作单词驼峰大小写

标签 regex sed alpine-linux

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

正则表达式:echo 'select-value'|sed -r 's/(-)(\w)/\U\2/g'

输出:selectValue

但是在 alpine 中,当我尝试下面的正则表达式时我没有得到输出

正则表达式:echo 'select-value'|sed -r 's/(-)(\w)/\%U\2/g'

输出:select%Uvalue

预期输出:selectValue

请建议正确的正则表达式。

谢谢

最佳答案

似乎 alpine 默认使用 busybox sed。您必须安装 gnu sed(它可能已经安装)。

在一个 docker alpine 3.5 容器中,我已经尝试过那个并且它有效 echo 'select-value'|/bin/sed -r 's/(-)(\w)/\U\2/g'。注意 /bin/sed 部分。 Gnu sed 已经安装在 docker 镜像中。

如果你运气不好,你可以使用 awk(如果可用):

echo 'select-value-another-value'|awk -F'-' '{ for(i=1; i<=NF; i++) printf toupper(substr($i,1,1)) substr($i,2);printf "\n"}'

关于正则表达式在 alpine linux 中制作单词驼峰大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974340/

相关文章:

python - 如何根据另一个字典查找和替换一个字典中的值

javascript - 如何使正则表达式仅接受字母和空格

javascript - 无法使用 RegExp 将空格替换为零宽度空格

javascript - 匹配字符串中不带空格的部分

regex - sed 从字符串中提取版本号(只有版本,没有其他数字)

docker - alpine docker 镜像中的 chrooted ssh 中的 Rsync 导致无法设置权限

linux - 文本格式化 - sed、awk、shell

linux - 如何使用 AWK 或 SED 为文件中的每一行生成 UUID?

c++ - Alpine docker 容器中简单 OpenCV 程序的链接器错误

javascript - docker alpine with node js and chromium headless - puppeter - 无法启动 chrome