【发布时间】:2015-06-15 12:23:21
【问题描述】:
我在 input.txt 中有以下几行:
client_citic_plat_fix44;CITICHK;interbridge_ulnet_se_eqx
client_citic_plat_fix44;CITICHK;interbridge_ulnet_se_eqx;CITICHK;interbridge_hk_eqx
client_dkp_crd;DELIVERTOCOMPID;DESTINATION
client_dkp_crd;NORD;interbridge_fr
client_dkp_crd;NORD;interbridge_fr;broker_nordea_2
client_dkp_crd;AVIA;interbridge_fr
client_dkp_crd;AVIA;interbridge_fr;interbridge_ld
client_dkp_crd;SEBAP;interbridge_fr
client_dkp_crd;SEBAP;interbridge_fr;broker_seb_ss_thl
client_epf_crd;DELIVERTOCOMPID;DESTINATION
我需要一些 bash (awk/sed) 脚本来删除与其他行部分相似的行。期望的输出应该是:
client_citic_plat_fix44;CITICHK;interbridge_ulnet_se_eqx;CITICHK;interbridge_hk_eqx
client_dkp_crd;DELIVERTOCOMPID;DESTINATION
client_dkp_crd;NORD;interbridge_fr;broker_nordea_2
client_dkp_crd;AVIA;interbridge_fr;interbridge_ld
client_dkp_crd;SEBAP;interbridge_fr;broker_seb_ss_thl
client_epf_crd;DELIVERTOCOMPID;DESTINATION
第 1、2 和 3 列总是相似的,我总是想删除比较两者之间的最短线。
谢谢!
【问题讨论】:
-
这不是问题,只是代码请求。请阅读How to Ask。
-
@TomFenech 显然,只要答案对某人有帮助,就允许代码请求。这就是为什么没有密切的原因。
-
伙计们,这不是代码请求,而是关于如何检查一行是否部分匹配另一行。关于如何做到这一点的一般想法就足够了。
-
相似的行总是在一起吗?它们总是第 n 和 n+1 行,还是可以是第 n+1 和 n+2 行?
-
什么构成部分,1 个字母,10 个字母?这是一个想法,查找基本的 awk 和 sed 命令,尝试解决并返回您的尝试。