linux常用命令:sort 命令
sort 命令是Linux系统下一种对文件排序的工具,sort 命令功能十分强大,是 Shell 脚本编程是常用的文件排序工具。
1.命令格式:
sort [选项]... [文件]...
或:sort [选项]... --files0-from=F
2.命令功能:
串联排序所有指定文件并将结果写到标准输出。
3.常用参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 忽略字母大小写
-g 按通用数值排序,支持科学计数法
-h 使用易读性数字(例如: 2K 1G)
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-k 排序从POS1开始,若指定POS2,则POS2结束,否则以pos1排序
-n 按字符串数值排序,与-g区别为不转为浮点数
-o<输出文件> 将排序后的结果输出写入指定文件
-r 降序排序,默认为升序
-t<分隔字符> 指定列的分割符
-u 去除重复的行
--help 显示帮助。
--version 显示版本信息
4.常用示例:
示例1:默认排序,默认情况下,sort命令,以字母序进行文本排序。
root@localhost:tmp$cat word.txt one two three four root@localhost:tmp$sort word.txt four one three two
示例2:数字排序,如果想对数字进行排序,可以使用-n参数。
root@localhost:tmp$ cat num.txt root@localhost:tmp$ sort num.txt -n
示例3:指定列排序
sort排序的时候,可以按字段分割的数据进行排序。-t参数表示行的分割字符,-k表示第几列。当然,可以进行降序排序,-r参数可以实现。
下面是对passwd文件,以冒号(:)进行分割,然后对第三列以数字方式进行降序排序。
root@localhost:etc$ cat passwd daemon:x:::daemon:/usr/sbin:/usr/sbin/nologin bin:x:::bin:/bin:/usr/sbin/nologin sys:x:::sys:/dev:/usr/sbin/nologin ::sync:/bin:/bin/sync games:x:::games:/usr/games:/usr/sbin/nologin ::man:/var/cache/man:/usr/sbin/nologin ::lp:/var/spool/lpd:/usr/sbin/nologin mail:x:::mail:/var/mail:/usr/sbin/nologin root@localhost:etc$ -nr passwd mail:x:::mail:/var/mail:/usr/sbin/nologin ::lp:/var/spool/lpd:/usr/sbin/nologin ::man:/var/cache/man:/usr/sbin/nologin games:x:::games:/usr/games:/usr/sbin/nologin ::sync:/bin:/bin/sync sys:x:::sys:/dev:/usr/sbin/nologin bin:x:::bin:/bin:/usr/sbin/nologin daemon:x:::daemon:/usr/sbin:/usr/sbin/nologin
示例4:文件夹大小排序
在du的时候,加上-h可以使用易读性数字,比如2k,1g,3M这种。sort也支持-h参数。
比如,du一个文件夹下的目录大小后,想以文件大小进行排序。由于du -h的结果是3k,2M,1G这种,不能简单的按数字排序。所以,可以使用-h参数。具体如下:
root@localhost:tmp$ du -h .0G ./test2 .0K ./test3 316M ./test .3G . root@localhost:tmp$ du -h |sort -hr .3G . .0G ./test2 316M ./test .0K ./test3
示例5:系统进程内存占用排序
查看系统进程中,内存占用最多的前5个进程信息
root@localhost:tmp$ | linux ? Sl 5月07 : compiz root tty7 Ssl+ 5月07 : /usr/bin/X -core : -seat seat0 -auth /var/run/lightdm/root/: -nolisten tcp vt7 -novtswitch linux ? Sl 5月07 : /usr/lib/evolution/evolution-calendar-factory linux ? Sl 5月07 : nautilus -n linux ? Sl 5月07 : gnome-terminal
示例6:对文件内容进行去重
如果文件内容有很多重复的,需要进行去重。sort也是支持的,可以通过-u参数使用
root@localhost:tmp$cat word.txt one two two three three three four four four root@localhost:tmp$sort -u word.txt four one three two
示例7:将sort输出内容写入文件
在shell中,一般将控制台内容写入文件,可以使用重定向,但如果想把sort的排序内容写回文件,则不能使用重定向。则需要-o参数。具体如下:
root@localhost:tmp$cat word.txt one two three four root@localhost:tmp$sort word.txt > word.txt root@localhost:tmp$cat word.txt #输出为空 root@localhost:tmp$sort word.txt -o word.txt root@localhost:tmp$sort -u word.txt four one three two
linux常用命令:sort 命令的更多相关文章
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
- Linux 常用的压缩命令有 gzip 和 zip
Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...
- Linux基础:sort命令总结
本文只总结一些常用的用法,更详细的说明见man sort和sort --help. sort命令 sort命令用于串联排序指定文件并将结果写到标准输出. sort可以指定按照何种排序规则进行排序,如按 ...
- LINUX常用配置及命令
一. Fedora系统配置 1. [设置网卡IP] 步骤如下: 1) 用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...
- 【转】linux中的sort命令
转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...
- Linux常用的基础命令总结
man 查看英文命令帮助 可以看作--help 拷贝目录的命令cp -a 包含所有 ls -a 显示所有文件包括隐藏文件 -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...
- linux常用60条命令 转
Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...
- linux常用配置文件和命令总结
常用配置文件说明: 1..设置-n永远生效:Vim的配置文件:命令模式想永久生效, ~/.vimrc,新建文件,在里面输入保存即可 2.设置别名永远生效:在~/.bashrc 修改当前用户家目录里的 ...
- Java线上问题排查思路及Linux常用问题分析命令学习
前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...
- 入门学习Linux常用必会命令实例详解
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...
随机推荐
- Coding 代码管理快速入门(转)
当项目创建好了之后,我们该如何上传代码到 coding 上呢? Coding 网站使用“ Git 仓库”(类似 github )来管理代码. 其操作原理在于:利用 git 服务,将本地的项目目录下的文 ...
- 复杂度O(n)计算
https://blog.csdn.net/daijin888888/article/details/66970902 一.算法的时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规 ...
- thinkCMF----路由跳转
使用ThinkCMF的时候,在模板界面上,可能会用到一些自定义路由,ThinkCMF路由的基本配置与用法: ThinkCMF自带有路由美化的功能: 这种路由都是当你创建栏目或创建文章的时候,自动生成的 ...
- ABP之创建实体
ABP框架是一个非常庞大的框架,里面的东西有很多,那么如果我需要使用ABP进行项目的开发,具体的使用流程是怎样的呢?接下来将以一个简单的电影票管理“系统”为例子具体的实现一下. 一. 实体的创建 实体 ...
- ELKStack之消息队列
redis消息队列 安装redis yum -y install redis 修改配置文件 修改ip 后台运行 启动 systemctl start redis 查看 lsof -i:6379 连接 ...
- 【转】JavaScript prototype
原文地址:http://www.cnblogs.com/dolphinX/p/3286177.html 用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初 ...
- js 基础 函数传值
让我忽略的函数传值问题 function box(num){ num += 10; // num(有色的num) 实际就是arguments[0] ,如果参数没有num,则函数体的num(有色的nu ...
- 网络层 运输层 NAT路由器 NATP路由器 一根光纤 多个固定ip
长城宽带想要公网和固定ip的来看看吧.[迅雷赚钱宝吧]_百度贴吧 https://tieba.baidu.com/p/4035318158?red_tag=0898389066 连续电话投诉加咨询一周 ...
- CF750F New Year and Finding Roots 构造+树论
正解:构造 解题报告: 传送门! 交互题交互题!哇好新鲜啊QwQ 首先考虑最傻逼的做法,应该是每个人都能想到的 首先看一下它给的条件,考虑到完全二叉树的性质,就可以发现,如果给的邻居只有一个,说明是叶 ...
- sass和css的calc运算
1.sass不识别不同单位之间的计算,而calc则没问题. width: #{1rem - 2px}; /*出错*/ width: calc(1rem - 2px); 通常情况定制css样式,我不需要 ...