我正在写一个剧本,我陷入了一个阶段。我想根据列对/uniq进行排序,请在下面提供帮助
229984:usto:150:usto-pdbx-sql13.amgen.com:usto-inf-srvr-W2008phys-prd-w
229986:usto:156:usto-pdbx-sql13.amgen.com:usto-inf-srvr-W2008phys-prd-w
230187:usto:50:usto-tsvc-smp03.amgen.com:usto-inf-srvr-W2008phys-tst-r
230713:usto:58:USTO271389-s.amgen.com:usto-inf-silv-EDM_windows-prd-u
229814:usto:58:usto-sec-iss-am.amgen.com:usto-inf-silv-security_app-prd-t
229618:usto:59:usto-pdpx-me020.amgen.com:usto-dev-brnz-matlabDev_app_NFS-prd-r
229255:usto:84:usto-dsvc-emfb1:usto-idm-silv-arcot_windows-dev-f
在上面,我想根据第3栏和第4栏删除整个行。如果3和4条目中的任何行重复,我想删除相同的行。
请提出建议谢谢。
最佳答案
我只能想到丑陋的bash黑客,为什么不换上一些漂亮的python呢?
seen_col_3 = []
seen_col_4 = []
for line in s.split():
cols = line.split(":")
if cols[3] in seen_col_3 and cols[4] in seen_col_4:
continue
seen_col_3.append(cols[3])
seen_col_4.append(cols[4])
print line
现在您只需要将文件读入
s