想你了的他他 发表于 2018-5-17 11:48:08

Linux命令——sort

  sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
  

  用法:sort ... ...
  

  参  数:
  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -f   排序时,忽略大小写字母。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  -k选择以哪个区间进行排序。
  -u排序后相同的行只顯示一次。

  

  sort的-o选项
  

  由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
  例:
  # sort -r a.txt
  6
  5
  4
  3
  2
  1
  # sort -r a.txt >b
  # cat b
  6
  5
  4
  3
  2
  1
  但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
  # cat a.txt
  6
  5
  4
  3
  2
  1
  # sort -r a.txt >a.txt
  # cat a.txt
  #
  a.txt 文件的內容被清空了。
  -o選項可以把內容寫入原文件
  # cat a.txt
  1
  2
  6
  3
  4
  5
  # sort a.txt -o a.txt
  # cat a.txt
  1
  2
  3
  4
  5
  6
  
页: [1]
查看完整版本: Linux命令——sort