【发布时间】:2019-05-17 18:47:30
【问题描述】:
我有记录
例子:
EMP_ID|EMP_NAME|AGE|SALARAy
123456|XXXXXXXXX|30|10000000
有没有办法可以将记录拆分为多个记录。示例输出应该像
EMP_ID|Attributes
123456|XXXXXXX
123456|30
123456|10000000
我想将同一条记录拆分为多条记录。这里员工 ID 是我唯一的列,其余 3 列我想循环运行并创建 3 条记录。像 EMP_ID|EMP_NAME 、 EMP_ID|AGE 、 EMP_ID|SALARY。我可能还有更多列,但对于示例,我提供了 3 列以及员工 ID。
如有任何建议,请帮助我。
【问题讨论】:
-
我不知道你是否想要
awk,但这应该可以awk -F'|' -vOFS='|' 'NR==1{print}NR>1{for(i=2;i<=NF;i++) print $1,$i}' record_file -
@PS 非常感谢您的回复。我可以接受 anu 方法。让我按照你的建议试试 Awk。如果还有其他可用的方法,请告诉我。
-
@PS 在这个输出中,我将 EMP_ID 设置为 uniue 列。但是,如果我将 EMP_ID 和 EMP_NAME 作为唯一列和其他 2 列,我想循环运行并创建 2 条记录——我需要在命令中更新什么?\
-
@PS -- 我也可以为这种方法获取标题吗?
-
您应该添加您的预期输出以获得更好的清晰度。
标签: linux shell unix command-line