Linux sort指令

来源:互联网 发布:日本浴衣短款淘宝 编辑:程序博客网 时间:2024/06/15 19:49
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
# cat sort.txt
hello:1:5
hello:1:5
world:2:5
tom:4:3
hi:3:2
hello:1:5

#sort sort.txt
hello:1:5
hello:1:5
hi:3:2
tom:4:3
world:2:5

sort的-u选项:在输出行中去除重复行
# sort -u sort.txt
hello:1:5
hi:3:2
tom:4:3
world:2:5

sort的-r选项:sort默认排序为升序,-r表示降序
# sort -r sort.txt
world:2:5
tom:4:3
hi:3:2
hello:1:5
hello:1:5

sort的-o选项:
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
# sort -r sort.txt > sort.txt
# cat sort.txt > sort.txt
#
-o选项解决了上述问题:
# sort -r sort.txt -o sort.txt
# cat sort.txt
world:2:5
tom:4:3
hi:3:2
hello:1:5
hello:1:5

sort的-n、-k、-t选项:
# sort -nk 2 -t: sort.txt
hello:1:5
hello:1:5
world:2:5
hi:3:2
tom:4:3
-n表示按照数字大小排序,-t指定分隔符,-k指定被分隔符后需要排序的列数


原创粉丝点击