使用awk拆分结构化文本字段时得到非预期结果求助
问题排查与修复方案
问题根因
你的awk命令中for循环的起始索引配置错误:
- 前6个固定字段对应
$1到$6,第一组item1、tax1对应的字段是$7、$8 - 你将循环起始值设为
i=5,第一次循环会取$5(address)、$6(telephone)和前6个固定字段拼接,直接生成了多余的错误行。
修复后的awk命令
awk '{for (i=7; i<NF; i+=2) print $1, $2, $3, $4, $5, $6, $i, $(i+1)}' file.txt > file2.txt
效果验证
执行上述命令后,输出结果和预期完全一致:
id first_name last_name age address telephone item1 tax1 id first_name last_name age address telephone item2 tax2 id first_name last_name age address telephone item3 tax3
内容的提问来源于stack exchange,提问作者mohamed
相关产品推荐
相关产品推荐

