首页 > 解决方案 > sed,在分隔符后的第 N 个位置插入空格

问题描述

我使用 bash 尤其是 sed 命令不是很流利:我正在尝试使用 sed在以下字符串中每个空格之后的第二个位置插入另一个空格:

Id_26300, 0404 0202 0202 0202

为了得到:

Id_26300, 04 04 02 02 02 02 02 02

我需要在我的整个文本文件中从第 3 行到最后执行此操作:

FileName
InfoField A B C D
Id_26300, 04 04 02 02 02 02 02 02
Id_26301, 02 02 02 04 02 04 02 02
...

我试图找到解决方案,但无法...非常感谢您的帮助!

标签: bashseddelimiter

解决方案


鉴于输入有限:

sed '3,$s/ ../& /g'

从第 3 行到文件末尾3,$,匹配一个空格,后跟任意 2 个字符 ..。用于&表示“匹配的内容”并在其后添加一个空格。g反复使用。


推荐阅读