1
我有以下file
:如何用awk重复行?
var1 10 10,11,13
var2 10 12,20,91
var3 10 6,7
var4 11 4
我想在第三个字段中的所有号码在不同的行,但我需要在前两个领域保持一致:
var1 10 10
var1 10 11
var1 10 13
var2 10 12
var2 10 20
var2 10 91
var3 10 6
var3 10 7
var4 11 4
我试着使用:
awk '{ split ($3, a, ","); print $1"\t"$2"\t"a[1]"\n"$1"\t"$2"\t"a[2]"\n"$1"\t"$2"\t"a[3] }' file | awk '{ if (length($3)>1) print $0 }'
但是,这是非常低效的,这是繁琐的编码$1
和$2
每次。如果有人可以请帮助我,这将不胜感激。请注意,答案不一定限于awk
,这只是一种偏好,因为我最熟悉它。
应该是for(i = 1 ...) – karakfa