Bu dosya var:Gruplar birlikte nasıl gruplanır?
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
her değeri için, $3
yılında ADD
, VAR
, USER
ile üç satır vardır. Dosyayı,'da USER
ile $6
değerlerine göre sıralamak (ters sıralamak) istiyorum. Soru şudur ki, bunu nasıl yapabilirim VE aynı zamanda, sıralı çizgilerin yanında ADD
, VAR
ile ilgili hatları tut. Sıralanacak diğer iki satıra ihtiyacım yok; Sadece sorted
hattının yanında olmalarına ihtiyacım var.
: Bu kodu denedim
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
, ancak yalnızca USER
hatlarında $6
değerlere dayalı sıralar:
cat File | sort -k1 | uniq | sort -g -k6 > Output
size
Örnek verilerle iyi oluşturulmuş soru için +1, gerekli çıktı ve ... gasp, .... örnek kod; -). Sıralamak için birden çok tuş belirtebilirsiniz. '-k2 -k3 -k6' işe yarayabilir. İyi şanslar. – shellter
Bu örneğe bir göz atın, aynı satır boyunca ilerlediğime inanıyorum http://stackoverflow.com/questions/3832068/bash-sort-text-file-by-last-field-value – TopGunCoder
@shelter: Maalesef – user2162153