我有以下数据集,第3个字段由0和1组成
Input
1 2 1
2 4 0
3 3 1
4 1 1
5 0 0
我希望将数据集扩展为以下格式
根据第二个字段和
仅将第3个字段中的“新”1(复制后获取)替换为0
如何使用AWK执行此操作?
由于
Output
1 2 1
1 2 0
2 4 0
2 4 0
2 4 0
2 4 0
3 3 1
3 3 0
3 3 0
4 1 1
答案 0 :(得分:2)
awk '{print; $3=0; for (i=1; i<$2; i++) print}' inputfile
如果你想在第二个字段中实际跳过零值的记录(如你的例子所示):
awk '{if ($2>0) print; $3=0; for (i=1; i<$2; i++) print}' inputfile