-k, --key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)
-s, --stable
stabilize sort by disabling last-resort comparison
[root@Mylinux tmp]# cat file3
uucp:5:5:UUCP administrator:/usr/lib/uucp:
uucp:6:2:UUCP administrator:/usr/lib/uucp:
uucp:5:3:UUCP administrator:/usr/lib/uucp:
uucp:6:1:UUCP administrator:/usr/lib/uucp:
[root@Mylinux tmp]# sort -t: -k3,3n file3
uucp:5:3:UUCP administrator:/usr/lib/uucp:
uucp:5:5:UUCP administrator:/usr/lib/uucp:
uucp:6:1:UUCP administrator:/usr/lib/uucp:
uucp:6:2:UUCP administrator:/usr/lib/uucp:
[root@Mylinux tmp]# awk -F: -v OFS=# '{print $3,$0}' file3
5#uucp:5:5:UUCP administrator:/usr/lib/uucp:
6#uucp:6:2:UUCP administrator:/usr/lib/uucp:
5#uucp:x:5:3:UUCP administrator:/usr/lib/uucp:
6#uucp:x:6:1:UUCP administrator:/usr/lib/uucp:
[root@Mylinux tmp]# awk -F: -v OFS=# '{print $3,$0}' file3 |sort -t# -k1,1n -k2,2
5#uucp:x:5:3:UUCP administrator:/usr/lib/uucp:
5#uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
6#uucp:x:6:1:UUCP administrator:/usr/lib/uucp:
6#uucp:x:6:2:UUCP administrator:/usr/lib/uucp:
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file3 | sort -t# -k1,1 -k2,2 | awk -F# '{print $2}'
uucp:x:5:3:UUCP administrator:/usr/lib/uucp:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
uucp:x:6:1:UUCP administrator:/usr/lib/uucp:
uucp:x:6:2:UUCP administrator:/usr/lib/uucp:
[root@Mylinux tmp]# cat file
a 2 7 1
b 2 4 5
c 9 1 6
d 6 9 7
e 1 8 5
f 8 1 3
g 4 4 3
h 6 3 4
[root@Mylinux tmp]# sort -k2 file
e 1 8 5
b 2 4 5
a 2 7 1
g 4 4 3
h 6 3 4
d 6 9 7
f 8 1 3
c 9 1 6
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file
2 7 1#a 2 7 1
2 4 5#b 2 4 5
9 1 6#c 9 1 6
6 9 7#d 6 9 7
1 8 5#e 1 8 5
8 1 3#f 8 1 3
4 4 3#g 4 4 3
6 3 4#h 6 3 4
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file | sort -t# -k1,1 -k2,2
1 8 5#e 1 8 5
2 4 5#b 2 4 5
2 7 1#a 2 7 1
4 4 3#g 4 4 3
6 3 4#h 6 3 4
6 9 7#d 6 9 7
8 1 3#f 8 1 3
9 1 6#c 9 1 6
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file | sort -t# -k1,1 -k2,2 | awk -F# '{print $2}'
e 1 8 5
b 2 4 5
a 2 7 1
g 4 4 3
h 6 3 4
d 6 9 7
f 8 1 3
c 9 1 6
[root@Mylinux tmp]# cat file
a 2 7 1
b 2 4 5
c 9 1 6
d 6 9 7
e 1 8 5
f 8 1 3
g 4 4 3
h 6 3 4
[root@Mylinux tmp]# sort -k2n file
e 1 8 5
a 2 7 1
b 2 4 5
g 4 4 3
d 6 9 7
h 6 3 4
f 8 1 3
c 9 1 6
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file
2 7 1#a 2 7 1
2 4 5#b 2 4 5
9 1 6#c 9 1 6
6 9 7#d 6 9 7
1 8 5#e 1 8 5
8 1 3#f 8 1 3
4 4 3#g 4 4 3
6 3 4#h 6 3 4
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file | sort -t# -k1,1n -k2,2
1 8 5#e 1 8 5
2 7 1#a 2 7 1
2 4 5#b 2 4 5
4 4 3#g 4 4 3
6 9 7#d 6 9 7
6 3 4#h 6 3 4
8 1 3#f 8 1 3
9 1 6#c 9 1 6
[root@Mylinux tmp]# awk -v OFS=# '{print $2" "$3" "$4,$0}' file | sort -t# -k1,1n -k2,2 | awk -F# '{print $2}'
e 1 8 5
a 2 7 1
b 2 4 5
g 4 4 3
d 6 9 7
h 6 3 4
f 8 1 3
c 9 1 6
>sort -t, -k2 -k4 file
c2,7,3,13
c1,7,6,24
b2,8,1,17
b1,8,7,15
a1,9,2,21
a2,9,4,11
>sort -t, -k2,2 -k4,4 file
c2,7,3,13
c1,7,6,24
b1,8,7,15
b2,8,1,17
a2,9,4,11
a1,9,2,21
[root@Mylinux tmp]# sort -t, -k2 -k4 file4
c2,7,3,13
c1,7,6,24
b2,8,1,17
b1,8,7,15
a1,9,2,21
a2,9,4,11
[root@Mylinux tmp]# awk -F, -v OFS=# '{print $2","$3","$4,$4,$0}' file4 | sort -t# -k1,1 -k2,2 -k3,3 | awk -F# '{print $NF}'
c2,7,3,13
c1,7,6,24
b2,8,1,17
b1,8,7,15
a1,9,2,21
a2,9,4,11
[root@Mylinux tmp]# sort -t, -k2,2 -k4,4 file4
c2,7,3,13
c1,7,6,24
b1,8,7,15
b2,8,1,17
a2,9,4,11
a1,9,2,21
[root@Mylinux tmp]# awk -F, -v OFS=# '{print $2,$4,$0}' file4 | sort -t# -k1,1 -k2,2 -k3,3 | awk -F# '{print $NF}'
c2,7,3,13
c1,7,6,24
b1,8,7,15
b2,8,1,17
a2,9,4,11
a1,9,2,21
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |