bash - 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
...
我试图找到解决方案,但无法...非常感谢您的帮助!
解决方案
鉴于输入有限:
sed '3,$s/ ../& /g'
从第 3 行到文件末尾3,$
,匹配一个空格,后跟任意 2 个字符 ..
。用于&
表示“匹配的内容”并在其后添加一个空格。g
反复使用。
推荐阅读
- java - AWS 无服务器请求 - JSON 正文/httpMethod 始终为空
- c++ - c++20 使用结构成员变量和 std::ranges 对结构进行排序向量
- java - 在 Firebase 数据库中添加或更改数据时,如何停止 Recyclerview 中的内容闪烁
- python - 以 7 为底的实数计算
- java - 将 CONNECT 与 HttpURLCONnection 一起使用
- mysql - 在 mysql 中处理大数据的最佳方法是什么?(成员之间的跟进、通知等)
- c++ - 如何按值返回只读 C++ std::vector 以供 C 使用?
- php - Xpath 从每对类的第一个实例中获取文本
- html - 如何在可用屏幕高度上垂直居中 div?
- javascript - 如何使此计时器在页面加载后立即启动