有条件地在可变长度行中插入逗号

问题描述 投票:0回答:1

我有一个文件,曾经包含两个 CSV 列,但已删除其逗号,以便每一行都是一个完整的“记录”。我需要通过添加逗号再次将它们分成两条记录,但行在 20 到 21 个字符之间,需要进行相应处理 - 如果行是 20 个字符,则需要在第 16 个位置添加逗号,如果该行有 21 个字符,需要在第 17 个位置添加逗号。如果我的数学计算正确,这将导致第二列的所有行上都有 5 个字符。

使用 Bash 和 GNU 工具完成此任务的最佳方法是什么?

bash awk sed
1个回答
0
投票

使用 sed:

sed -E 's/.{5}$/,&/' file
© www.soinside.com 2019 - 2024. All rights reserved.