Shell基础之-sort命令

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 Luo
Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne,Australia

D Hou
Beijing University
Beijing,China

B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

将这个替换为下面字符

B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

D Hou
Beijing University
Beijing,China

J Luo
Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne,Australia


awk -v  RS="" '{gsub("\n","@");print}' qq | sort | awk -v ORS="\n\n" '{gsub("@","\n");print}'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值