你好杰米
2018-06-29 04:10
采纳率: 95%
浏览 1.3k

[linux]如何给一个txt文件排序,用linux命令

目前有个txt的文件,里面每一行都是相同格式的内容
目前顺序是乱的

我现在需要一个排好序的txt文件,该如何使用sort命令获得?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • linex2010 2018-06-29 06:39
    已采纳

    sort命令详解:
    http://man.linuxde.net/sort

    已采纳该答案
    打赏 评论
  • govdoo 2018-06-29 04:41

    最好 把原 txt 内容贴部分除来,并说明你要 怎么排序

    比如:
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500

    按照公司人数排序 sort -n -t ' ' -k 2 testsort.txt
    按照公司人数排序 ,人数相同的按照员工平均工资升序排序: sort -n -t ' ' -k2 -k3 testsort.txt
    从公司英文名称的第二个字母开始进行排序:sort -t ' ' -k1.2 testsort.txt

    sort命令详解:
    http://man.linuxde.net/sort

    打赏 评论
  • 一知止小小鸟 2018-06-29 04:55

    功能说明:将文本文件内容加以排序。
    语  法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
    补充说明:sort可针对文本文件的内容,以行为单位来排序。
    参  数:
    -b 忽略每行前面开始出的空格字符。
    -c 检查文件是否已经按照顺序排序。
    -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
    -f 排序时,将小写字母视为大写字母。
    -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
    -m 将几个排序好的文件进行合并。
    -M 将前面3个字母依照月份的缩写进行排序。
    -n 依照数值的大小排序。
    -o<输出文件> 将排序后的结果存入指定的文件。
    -r 以相反的顺序来排序。
    -t<分隔字符> 指定排序时所用的栏位分隔字符。
    +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
    --help 显示帮助。
    --version 显示版本信息

    打赏 评论
  • MitiinWell 2018-06-29 05:05

    语法

     sort [options] [file(s)]
    

    参数:

    -b 忽略开头的空白
    -c 检查输入是否已正确的排序。如果输入未经排序,返回退出码非零值
    -d 字典顺序:仅文字数字与空白才有意义
    -g 一般数值:以浮点数字类型比较字段。
    -f 将混用的字母都看作相同大小写,不区分大小写
    -i 忽略无法打印的字符
    -k 定义排序键值字段
    -m 将几个排序好的文件进行合并。
    -M 将前面3个字母依照月份的缩写进行排序。
    -n 依照数值的大小排序。
    -o<输出文件> 将排序后的结果存入指定的文件。
    -r 以相反的顺序来排序。
    -t<分隔字符> 指定排序时所用的栏位分隔字符。
    +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
    --help 显示帮助。
    --version 显示版本信息。
    sort会读取指定的文件,如果未给定文件,则读取标准输入,再将排序好的数据写至标准输出。

    打赏 评论
  • 前进号710 2018-06-29 05:36

    cat xxx.txt|sort -n > xxx.txt

    打赏 评论
  • RichardAndy 2018-06-29 06:23

    可以用awk选取文件大小,之后用sort来排序

    打赏 评论
  • qq_31454479 2018-06-29 06:38

    awk选取文件大小,之后用sort来排序

    打赏 评论

相关推荐 更多相似问题