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

如何修改现有Sed命令删除目标ID后的指定空格?

问题与解决方案

原有命令与效果

原Sed命令用于给13位长度的ID前添加三个零:

sed 's/^\(\.{14}\)\([0-9]\{13\}[^0-9]\)/\1000\2/' file

输入示例:

A:AAAA:AA: :A:**0123456789ABC   **:AAA:AAA       :          :AA:          :     :

执行原命令后的输出:

A:AAAA:AA: :A:**0000123456789ABC   **:AAA:AAA       :          :AA:          :     :

修改需求

需要调整命令,仅删除上述处理过的记录中ID后的三个空格,不得删除其他位置的空格或整列(其他记录存在不同数据)。

解决方案

直接在原命令的匹配逻辑中,把ID后的三个空格纳入匹配范围,替换时排除这部分即可。修改后的命令如下:

sed 's/^\(\.{14}\)\([0-9]\{13\}\)   \([^0-9]\)/\1000\2\3/' file

逻辑说明

  • 原命令通过分组匹配前14个任意字符、13位数字及后续非数字字符,替换时在数字前插入000。
  • 修改后的命令将ID后的三个空格单独匹配出来,替换时只保留前14个字符、加了000的ID,以及后续的非数字字符,跳过那三个空格,实现精准删除。

执行修改后命令的输出示例:

A:AAAA:AA: :A:**0000123456789ABC**:AAA:AAA       :          :AA:          :     :

内容的提问来源于stack exchange,提问作者Luis Meléndez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:45:49