使用sed获取snake小写

使用sed获取snake小写,sed,Sed,如果我有像 { “姓名”:“MyNameIsKhan” “符号”:“MyNameIsKhan” } 我想将其转换为 { “姓名”:“MyNameIsKhan” “符号”:“我的名字”是“汗” } sed-e's/([A-Z])/\u\L\1/g'-e's/^-/' 但是,由于它也在更改其他名称字段,因此缺少了一些内容。 PS-不想更改名称和符号可能有任意数量的空格。如果可能的话,使用awk也可以。这可能会帮助您: sed -r 's/([a-z]+)([A-Z][a-z]+)/\1_\l\2/g

如果我有像

{
“姓名”:“MyNameIsKhan”
“符号”:“MyNameIsKhan”
}

我想将其转换为

{
“姓名”:“MyNameIsKhan”
“符号”:“我的名字”是“汗”
}

sed-e's/([A-Z])/\u\L\1/g'-e's/^-/'

但是,由于它也在更改其他名称字段,因此缺少了一些内容。 PS-不想更改名称和符号可能有任意数量的空格。如果可能的话,使用awk也可以。这可能会帮助您:

sed -r 's/([a-z]+)([A-Z][a-z]+)/\1_\l\2/g'
这可能会帮助您:

sed -r 's/([a-z]+)([A-Z][a-z]+)/\1_\l\2/g'
  • /symbol/
    将只搜索和替换包含
    symbol的行
  • /symbol/
    将只搜索和替换包含
    symbol的行

尝试一下这款sed one liner:

sed '/"symbol"/s/[A-Z]/_\l&/g;s/"_/"/' file
测试:


尝试一下这一行:

sed '/"symbol"/s/[A-Z]/_\l&/g;s/"_/"/' file
测试:


它如何仅适用于符号而不适用于名称字段?也不为第一个字母工作…:(请添加一些注释以说明这解决问题的原因。尽管此代码可能有助于解决问题,但提供有关其回答问题的原因和/或方式的附加上下文将显著提高其长期价值。请您的回答添加一些解释。它如何仅适用于符号而不适用于名称字段?也不为第一个字母工作…:(请添加一些注释来说明这解决问题的原因。尽管此代码可能有助于解决问题,但提供有关其原因和/或如何回答问题的附加上下文将显著提高其长期价值。请您的回答添加一些解释。
sed-r'/symbol/s/([a-z])([a-z]))/\我用过这个你现在能检查吗?
sed-r'/symbol/s/([a-z])([a-z])/\1\L\2/g'/awk'/{$0=tolower($s];}1'