我需要以下帮助。我能够得到当前的输出,但是进一步的格式更改引起麻烦。
对于我的shell脚本,当前输出如下:-
Username a
mail a@mail
role ra1
role ra2
company ac
Username b
mail b@mail
role rb1
role rb2
company bc
我需要采用以下格式。
Username mail role company
a a@mail ra1 ac
a a@mail ra2 ac
b b@mail rb1 bc
b b@mail rb2 bc
对于每个新角色,都需要添加带有用户属性的新行。角色数量因用户而异。
谢谢。
答案 0 :(得分:0)
这个awk代码应该可以帮助您
..your..output..|awk '/^Username/{name=$2}
/^mail/{mail=$2}
/^role/{r[$2]}
/^company/{comp=$2;for(x in r)print name,mail,x,comp;delete(r)}'
使用您的示例数据,它输出:
a a@mail ra1 ac
a a@mail ra2 ac
b b@mail rb1 bc
b b@mail rb2 bc