我有一个如下的csv文件。ID是每个员工的唯一标识符,而MANAGERID是他/她的经理的ID。
id,managerid,firstname,lastname,dob,address
1,0,John,A,1976-01-01,some where
108,12,Tom,B,1996-01-01,some where
85,12,Jerry,C,1975-01-01,some where
12,1,Winsor,D,1984-01-01,some where
16,85,Smith,H,1977-01-01,some where
100,0,Ray,G,1999-01-01,some where
22,100,Albert,B,1980-01-01,some where
17,22,Robert,J,1980-01-01,some where
21,22,Linda,K,1981-01-01,some where
35,17,Lily,J,1968-01-01,some where
101,0,Sam,A,1995-01-01,some where
105,101,Liz,Z,1988-08-08,earth
我想使用bash命令/脚本打印出结构,像一棵树。最高管理者是根,下面是部门经理和部门的员工。最高管理者的ID和姓名也应列在员工旁边。
我还不知道怎么做。
预期输出应该如下所示。
1:John A(1:John A)
+12:Winsor D(1:John A)
+-85:Jerry C(1:John A)
+--16:Smith H(1:John A)
+-108:Tom B(1:John A)
100:Ray G(100:Ray G)
+22:Albert B(100:Ray G)
+-21:Linda K(100:Ray G)
+-17:Robert J(100:Ray G)
+--35:Lily J(100:Ray G)
101:Sam A(101:Sam A)
+105:Liz Z(101:Sam A)
任何帮助都将不胜感激!
1条答案
按热度按时间nimxete21#
如果你已经安装了
python
,你可以试试这段代码。它可以在python2和python3中工作。tree.py:
那就运行这个
或者,如果您可以下载
rq
,它可以在一个命令行内完成此任务。