You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用sed仅处理等号左侧字符,实现键名格式转换?

键值对文件键名转换方案

需求:将键值对文件中,等号左侧的键名里的.和-替换为_,同时转为全大写,等号右侧的值保持不变。

可行的sed命令

直接用sed的多编辑命令即可完成,无需复杂操作:

sed -e 's/[.-]/_/g' -e 's/^[^=]*/\U&/' input.txt

命令解释

  • -e:用于指定多个独立的编辑操作
  • s/[.-]/_/g:全局匹配键名中的.和-,替换为_(g确保一行内所有匹配的符号都被替换)
  • s/^[^=]*/\U&/:匹配行首到第一个=之间的所有内容(即完整键名),\U&将匹配到的内容转为全大写

示例验证

输入文件内容:

a.key.one-example=a_value_one
a.key.two-example=a_value_two

执行命令后输出:

A_KEY_ONE_EXAMPLE=a_value_one
A_KEY_TWO_EXAMPLE=a_value_two

直接修改原文件

如果需要直接修改原文件(而非输出到终端),可以添加-i参数:

  • Linux/GNU sed:
sed -i -e 's/[.-]/_/g' -e 's/^[^=]*/\U&/' input.txt
  • macOS/BSD sed:
sed -i '' -e 's/[.-]/_/g' -e 's/^[^=]*/\U&/' input.txt

内容的提问来源于stack exchange,提问作者Antoine Mathurin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:20:38