gpt4 book ai didi

string - Bash 脚本 : find and replace uppercase character on a string

转载 作者:行者123 更新时间:2023-11-29 09:25:45 25 4
gpt4 key购买 nike

假设我们有一个像这样的字符串:

doSomething()

我们想要获得:

do_something()

执行此操作的最佳方法是什么?
我读过 documentation关于字符串操作,但我找不到正确的命令组合..

更新

经过@anubhava 的讨论,我找到了安装 gnu-sed 的解决方案:

brew install gnu-sed

然后我可以这样运行脚本:

s="doSomethingElse()"; gsed 's/[[:upper:]]/_\L&/g' <<< "$s"

输出: do_something_else()

最佳答案

使用 gnu-sed 你可以:

s='doSomethingElse()'

sed 's/[[:upper:]]/_\L&/g' <<< "$s"
do_something_else()

否则使用 non-gnu-sed (BSD) pipe with tr:

sed 's/[[:upper:]]/_&/g' <<< "$s" | tr [[:upper:]] [[:lower:]]
do_something_else()

或者使用perl:

perl -pe 's/[[:upper:]]/_\L$&/g' <<< "$s"
do_something_else()

或者使用gnu-awk:

awk -v RS=[[:upper:]] -v ORS= '1; RT{printf "_%s", tolower(RT)}' <<< "$s"
do_something_else()

关于string - Bash 脚本 : find and replace uppercase character on a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33304620/

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