`

linux sort 命令

阅读更多
sort
对文本文件内容 行 排序

参数:
-t 指定分隔符,默认tab或空格
-k 以哪列进行排序,上面-t分割后,1行可能有多列
   可以指定多列排序
   语法:开始列[.第几个字符,结束列.第几个字符]
        括号内可以省略不指定
-r 降序,默认升序
-u 去除重复行
-n 以数字进行排序,默认以字符
-f 忽略大小写

建立第一个测试文件
# cat > one.txt
4
6
22
7
3
18


排序
# sort one.txt 
18
22
3
4
6
7

3比22大,因为默认以字符进行排序,一个一个位置进行比较

以数字进行排序
# sort -n one.txt 
3
4
6
7
18
22


以数字进行倒序排列
# sort -nr one.txt 
22
18
7
6
4
3


第二个测试文本
# cat > two.txt
beijing 京 19500 7.7
shanghai 沪 21602 7.7
tianjin 津 14370 12.5
chongqing 渝 12656 12.3


# sort two.txt
beijing 京 19500 7.7
chongqing 渝 12656 12.3
shanghai 沪 21602 7.7
tianjin 津 14370 12.5


以空格分隔每行,第三列进行数字排序
# sort -t ' ' -k 3,3n two.txt 
chongqing 渝 12656 12.3
tianjin 津 14370 12.5
beijing 京 19500 7.7
shanghai 沪 21602 7.7


以空格进行分隔每行,第三列的第2至第3个字符进行按数字排序
# sort -t ' ' -k 3.2,3.3n two.txt
shanghai 沪 21602 7.7
chongqing 渝 12656 12.3
tianjin 津 14370 12.5
beijing 京 19500 7.7


以空格进行分隔每行,第一列的第2至第3个字符进行排序
sort -t ' ' -k 1.2,1.3 two.txt 
beijing 京 19500 7.7
shanghai 沪 21602 7.7
chongqing 渝 12656 12.3
tianjin 津 14370 12.5


以空格进行分隔每行,第一列的第2至第2(即只有第2个)个字符进行排序
# sort -t ' ' -k 1.2,1.2 two.txt 
beijing 京 19500 7.7
chongqing 渝 12656 12.3
shanghai 沪 21602 7.7
tianjin 津 14370 12.5


在上面的基础上添加-u 去除重复
# sort -t ' ' -k 1.2,1.2 -u two.txt
beijing 京 19500 7.7
shanghai 沪 21602 7.7
tianjin 津 14370 12.5


以空格进行分隔每行,第一列的第2至第2(即只有第2个)个字符进行排序
然后在此基础上对第三列进行数字排序
# sort -t ' ' -k 1.2,1.2 -k 3,3n two.txt 
beijing 京 19500 7.7
chongqing 渝 12656 12.3
shanghai 沪 21602 7.7
tianjin 津 14370 12.5

1
0
分享到:
评论
1 楼 qindongliang1922 2014-06-19  
不错!

相关推荐

    linux sort命令的用法

    本文档详细的介绍了linux下sort命令的详细用法

    linux sort命令参数及用法详解.docx

    linux sort命令参数及用法详解.docx

    Linux sort命令用法详解

    Linux sort命令 Linux sort命令用于将文本文件内容加以排序。 sort可针对文本文件的内容,以行为单位来排序。 语法 sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件] 参数说明: -b 忽略每行前面开始出的...

    linux下uniq和sort命令用法详解.docx

    linux下uniq和sort命令用法详解.docx

    linux 核心命令源码

    linux 核心命令源码(cp mv cat chgrp chown cut date df du echo env expand expr find force fs group head hostname join kill link ls mkdir mv nice od paste printf ptx rm selinux seq sleep sort split stat...

    linux下uniq和sort命令用法.docx

    linux下uniq和sort命令用法.docx

    LINUX处理文本命令

    LINUX处理文本命令 处理文本和文本文件的命令 一. sort 文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的... 这个命令经常出现在sort命令的管道后边. 四. expand, unexpand ... ...

    操作系统接口:兼容Unix/Linux命令接口

    目标:为Windows操作系统建立一个兼容Unix命令的命令接口,实现命令包括ls,cat,cp,mv,md,rd,cd,sort,more命令。 环境:使用CodeBlock开发(g++编译) 效果:尚未发现BUG 优点:代码可读性高、比较精简、错误处理...

    sort命令的k选项大讨论

    sort命令的k选项大讨论,最详细的Sort命令介绍。

    Linux命令 sort、uniq、tr工具详解

    Linux sort命令用于将文本文件内容加以排序。 sort可针对文本文件的内容,以行为单位来排序。 sort 常见选项 b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母、数字及...

    linux常用命令源码(ls,cp,chmod,df等一百多个命令)

    linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...

    Linux网络操作系统基础:文件处理wc、sort和diff命令.pptx

    Linux网络操作系统基础:文件处理wc、sort和diff命令.pptx

    linux进阶版命令详解

    对使用linux的新手来说,是linux一些常用命令的一些合集,有兴趣的朋友可以看一下 1、awk详解.txt 2、crontab定时器.txt 3、sed详解.txt 4、sort-cut-wc详解.txt

    linux常用命令脚本.txt

    Linux常用命令 # 按 VmSwap 使用量对进程排序,输出进程名称、进程 ID 以及 SWAP 用量 $ for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -...

    ubuntu/linux下实现自己的命令

    具体命令:DIR(my_ls), RD(my_rd),CD,MD(my_md), DEL,MOVE(my_move),REN(my_ren),XCOPY, PROMPT,SORT(sort),TYPE(my_type),COPY(my_copy),命令格式可参照 Windows 的 CMD.EXE 或 MS-DOS 提供的命令; 设计命令的...

    Linux 常用命令整理

    从文件和目录操作到用户管理等。 ls cp cut head stat sort uniq awk grep sed chmod chown useradd groupadd mount 等

    一道题理解Linux中sort命令的多个参数

    今天小编就为大家分享一篇关于一道题理解Linux中sort命令的多个参数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    linux之sort命令的用法

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

    Linux中文本处理工具之sort命令详解

    sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件...下面这篇文章主要给大家介绍了Linux中文本处理工具之sort命令的相关资料,需要的朋友可以参考下。

Global site tag (gtag.js) - Google Analytics