- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Hack-14 Sort 命令
Sort 命令
一般来说命令的命名都是跟命令的作用有关的,嗯,我莫名想到了 thefuck ... (逃
sort
就是用来排序的,没错,给文件内容排序:
➤ for i in {1..10};do echo $((RANDOM/20)) >> random; done
➤ cat random
1164
1522
69
1470
1232
642
1494
12
543
685
➤
然后我们 sort
一下:
➤ sort random
1164
12
1232
1470
1494
1522
543
642
685
69
➤ sort -n random
12
69
543
642
685
1164
1232
1470
1494
1522
➤
是不是很好玩? 最后一个数字竟然是 69 ... 我好污...
再来个例子:
➤ cat passwd
root:x:0:0
daemon:x:1:1
bin:x:2:2
sys:x:3:3
sync:x:4:65534
games:x:5:60
man:x:6:12
lp:x:7:7
mail:x:8:8
news:x:9:9
➤
我们先不带任何参数的排一下序:
➤ sort passwd
bin:x:2:2
daemon:x:1:1
games:x:5:60
lp:x:7:7
mail:x:8:8
man:x:6:12
news:x:9:9
root:x:0:0
sync:x:4:65534
sys:x:3:3
➤
看到了吗, sort
按照首字母排序了。
这次我们按照最后一个字段进行排序:
➤ sort -t : -k 4 passwd
root:x:0:0
daemon:x:1:1
man:x:6:12
bin:x:2:2
sys:x:3:3
games:x:5:60
sync:x:4:65534
lp:x:7:7
mail:x:8:8
news:x:9:9
好像不太对,再加个参数呢:
➤ sort -n -t : -k 4 passwd
root:x:0:0
daemon:x:1:1
bin:x:2:2
sys:x:3:3
lp:x:7:7
mail:x:8:8
news:x:9:9
man:x:6:12
games:x:5:60
sync:x:4:65534
是不是看起来爽多了?
作者的这个例子很不错:
sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.100.101 dev-db.thegeekstuff.com dev-db
192.168.100.102 prod-db.thegeekstuff.com prod-db
192.168.101.20 dev-web.thegeekstuff.com dev-web
192.168.101.21 prod-web.thegeekstuff.com prod-web
把 IP 地址排序,可以研究下他是怎么做到的。
最后原作者还介绍了几套组合拳:
- ps –ef | sort #给进程排序
- ls -al | sort -nk 5 #根据文件大小进行排序
- ls -al | sort -nrk 5 #根据文件大小反向排序
注意,这里跟原著有差别哦,因为我按照原著上的并没有成功,我的系统是 Ubuntu 15.10
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论