我有这个文件:
@H_301_16@rs1 1 ADD 0.7 0.75 0.45 rs1 1 VAR 0.4 4.53 0.06 rs1 1 USER NA 1.96 0.37 rs2 2 ADD 1.5 0.25 0.23 rs2 2 VAR 0.4 4.86 0.03 rs2 2 USER NA 1.73 0.05 rs3 3 ADD 0.29 0.76 0.97 rs3 3 VAR 0.44 3.95 0.09 rs3 3 USER 0.96 5.41 0.01
对于$1中的每个值,有三行ADD,VAR,USER为$3.我想根据$3中USER的行的$6值对文件进行排序(反向排序).问题是我如何能够这样做并同时在排序的行旁边保留ADD,VAR的相应行.我不需要对其他两行进行排序;我只需要他们在排序的行旁边.
期望的输出:
rs3 3 ADD 0.29 0.76 0.97 rs3 3 VAR 0.44 3.95 0.09 rs3 3 USER 0.96 5.41 0.01 rs2 2 ADD 1.5 0.25 0.23 rs2 2 VAR 0.4 4.86 0.03 rs2 2 USER NA 1.73 0.05 rs1 1 ADD 0.7 0.75 0.45 rs1 1 VAR 0.4 4.53 0.06 rs1 1 USER NA 1.96 0.37
我试过这段代码,但它只根据USER行中的$6值进行排序:
cat File | sort -k1 | uniq | sort -g -k6 > Output
谢谢