Shell基础之-sort命令

来源:互联网 发布:阿里云医疗 编辑:程序博客网 时间:2024/06/11 05:07

sort 对文件排序的工具

首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~


     sort将输入文件看做由多条记录组成的数据流,而记录由可变宽的字段组成,以换行符作为定界符
   sort [option] file

sort命令选项及其意义

   -c    #测试文件是否已经被排序   -k    #指定排序的域   -m    #合并两个已排序的文件   -n    #根据数字大小进行排序   -o  [输出文件]  #将输出写到指定的文件,相当于将输出重定向到指定文件   -r    #将排序结果逆向显示   -t    #改变域分隔符   -u    #去除结果中的重复行

sort命令示例:

使用域分隔符:对test文件进行排序   sort -t: test按第3域对test文件进行排序   sort -t: -k3 test  按第3域对test文件进行排序,价格从小到大   sort -t: -k3n test按第3域对test文件进行排序,价格从大到小   sort -t: -k3nr test将test文件中重复的行去掉   sort -t: -u test   cat test | sort | uniq 将排序后的内容不输出到屏幕,直接保存于文件中     sort -t: -k3n -o xx test   sort -t: -k3n test > xx检测文件是否已经排序好   如果是已经排序好的文件,检测则需要指定sort是如何排序的   sort -c -t: -k3n xx将111222两个已经排好序的文件放在一起   sort -m 111 222

sort和awk的联合用法

J LuoSoutheast UniversityNanjing,ChinaY ZhangVictory UniversityMelbourne,AustraliaD HouBeijing UniversityBeijing,ChinaB LiuShanghai Jiaotong UniversityShanghai,ChinaC LinUniversity of TorontoToronto,Canada将这个替换为下面字符B LiuShanghai Jiaotong UniversityShanghai,ChinaC LinUniversity of TorontoToronto,CanadaD HouBeijing UniversityBeijing,ChinaJ LuoSoutheast UniversityNanjing,ChinaY ZhangVictory UniversityMelbourne,Australiaawk -v  RS="" '{gsub("\n","@");print}' qq | sort | awk -v ORS="\n\n" '{gsub("@","\n");print}'
0 0
原创粉丝点击