有一个txt文件
ID1 PROJECT1 USER1 ROLE1 USER2 ROLE2 USER3 ROLE3
ID2 PROJECT2 USER1 ROLE2 USER2 ROLE2 USER3 ROLE3
我需要如下
ID1 PROJECT1 USER1 ROLE1
ID1 PROJECT1 USER2 ROLE2
ID1 PROJECT1 USER3 ROLE3
ID2 PROJECT2 USER1 ROLE1
ID2 PROJECT2 USER2 ROLE2
ID2 PROJECT2 USER3 ROLE3
答案1
这种事情适合于awk
:
$ awk '{for (i=3;i<NF;i=i+2) print $1,$2,$i,$(i+1)}' file.txt
ID1 PROJECT1 USER1 ROLE1
ID1 PROJECT1 USER2 ROLE2
ID1 PROJECT1 USER3 ROLE3
ID2 PROJECT2 USER1 ROLE2
ID2 PROJECT2 USER2 ROLE2
ID2 PROJECT2 USER3 ROLE3