我有這個文件:如何將線組分組在一起?
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
,在$3
USER
。我想根據的中的$6
值對文件進行排序(反向排序)。問題是我如何做到這一點,同時在排序的行旁邊保留ADD
,VAR
的對應行。我不需要對其他兩行進行排序;我只需要他們在sorted
線旁邊。
所需的輸出:
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
謝謝
對於樣本數據,要求的輸出和... gasp,...良好的格式化問題+1。示例代碼; - )。您可以指定多個鍵進行排序。 '-k2 -k3 -k6'可能會起作用。祝你好運。 – shellter
看看這個例子,它是沿着相同的線我相信 http://stackoverflow.com/questions/3832068/bash-sort-text-file-by-last-field-value – TopGunCoder
@shelter:不幸的是,它似乎沒有工作 – user2162153