Linux数据提取,在linux / unix中提取数据

我有输入要解析的数据并使用awk / grep / sed提取值:

group-2 9 10 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=ACE,toid=11,use=1,z=1

group-3 0 1 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=ACE,toid=11,use=1,z=1

group-2 28 29 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=CHRM1,toid=114,use=1,z=1

group-5 0 1 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=CHRM1,toid=114,use=1,z=1

group-2 29 30 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=CHRM2,toid=115,use=1,z=1

group-5 1 2 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=CHRM2,toid=115,use=1,z=1

group-2 10 11 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=DRD2,toid=158,use=1,z=1

group-3 1 2 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=DRD2,toid=158,use=1,z=1

group-2 11 12 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=EGF,toid=164,use=1,z=1

group-3 2 3 text color=black,from=ABCB11,fromid=4,order=2,thickness=3,to=EGF,toid=164,use=1,z=1

group-2 21 22 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ACE,toid=11,use=1,z=1

group-3 12 13 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ACE,toid=11,use=1,z=1

group-2 0 1 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1A,toid=21,use=1,z=1

group-1 0 1 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1A,toid=21,use=1,z=1

group-2 1 2 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1B,toid=22,use=1,z=1

group-1 1 2 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1B,toid=22,use=1,z=1

group-2 2 3 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1D,toid=23,use=1,z=1

group-1 2 3 text color=black,from=ABCC8,fromid=5,order=2,thickness=3,to=ADRA1D,toid=23,use=1,z=1

基本上,我想采用“from =”及其“fromid”和“to =”及其“toid =”中的不同值,下面可以看出输出应该如何:

所需的输出.是“from =”和“to =”连接行的值.由于= ABCB11多次出现,但我只想要一次,所以“to =”中的值必须是一次在输出中.

无论是作为fromid还是toid存在什么,我希望所有行都具有fromid,在从两者中获取不同的值之后.输出的格式可以从下面的输出中解释:

ABCB11 = fromid=4,from=ABCB11

ABCC8 = fromid=5,from=ABCC8

ACE = fromid=11,from=ACE

CHRM1 = fromid=114,from=CHRM1

CHRM2 = fromid=115,from=CHRM2

DRD2 = fromid=158,from=DRD2

EGF = fromid=164,from=EGF

ADRA1A = fromid=21,from=ADRA1A

ADRA1B = fromid=22,from=ADRA1B

ADRA1D = fromid=23,from=ADRA1D

我想拥有与上面完全相同的输出,但我有一个新的输入文件,如下所示:

ABCB11 4 ACE 11

ABCB11 4 CHRM1 114

ABCB11 4 CHRM2 115

ABCB11 4 DRD2 158

ABCB11 4 EGF 164

ABCC8 5 ACE 11

ABCC8 5 ADRA1A 21

ABCC8 5 ADRA1B 22

ABCC8 5 ADRA1D 23

ABCC8 5 CHRM1 114

采用所有独特的基因并创造输出.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值