使用 gawk 合并数据

使用 gawk 合并数据

这是我的数据:示例:

454|12 13 |人民电话(中国移动香港)|0.0118
454|06 15 17 |数码通移动通信(P Plus)|0.0412

我很新的unix/linux。我可以知道是否有任何命令,以便我可以填充数据,如下所示:

45412 |人民电话 (中国移动香港)|0.0118
45413 |人民电话 (中国移动香港)|0.0118
45406 |数码通移动通讯 (P Plus)|0.0412
45415 |数码通移动通讯 (P Plus)|0.0412
45417 |数码通移动通讯通讯(P Plus)|0.0412

我使用 gawk 命令打印第一部分

( gawk 'BEGIN{FS="|"}{print $1}'

但未能与每次突破相结合。需要你的帮助。

答案1

gawk 'BEGIN{FS="|"}{n=split($2,a," "); for (i = 1; i <=n ; i++) printf "%s%s|%s|%s\n", $1,a[i],$3,$4;}'

相关内容