【发布时间】:2015-10-22 10:14:11
【问题描述】:
是否有 Linux 方法(awk、sed、grep 等)在文件中每一行的特定索引处插入一个字符?
例如下面是file.txt的内容
0067011990999991950051507004+68750+023550FM-12+038299999V0203301N00671220001CN9999999N9+00001+99999999999
0043011990999991950051512004+68750+023550FM-12+038299999V0203201N00671220001CN9999999N9+00221+99999999999
我想在 file.txt 中每一行的给定索引(比如 15、19、88 和 93)处插入一个逗号,以便生成的结果如下:
006701199099999,1950,051507004+68750+023550FM-12+038299999V0203301N00671220001CN9999999N9+,00001,+99999999999
004301199099999,1950,051512004+68750+023550FM-12+038299999V0203201N00671220001CN9999999N9+,00221,+99999999999
【问题讨论】:
-
可以将 dd 与 conv=notrunc 一起使用
-
@amdixon 感谢您的建议。我是stackoverflow的新手。下次会记住格式。
-
也许这个纯粹的
bash解决方案可以提供帮助:while read -r line; do echo "${line:0:15},${line:15:4},${line:19:69},${line:88:5},${line:93}"; done < file.txt