BASH命令和SHELL脚本总结(14)cat和grep和sort
2013-03-30 15:23
806 查看
cat
显示行号
只对非空行显示行号
对连续的空行只输出一个空行
grep
添加颜色
打印匹配行后面的N行
打印匹配行前面的N行
打印匹配行前后的N行
打印含有匹配行的文件的文件名
打印没有匹配行的文件的文件名
把pattern当作一个固定的字符串, 不进行正则解析,可以加快速度。
只对指定的文件进行搜索
sort
1. 对文件按照修改时间排序
2. 针对多个域(列)进行排序
eg 只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:
3. 其它常用选项
对整数排序
对于浮点数,负数,排序,当然也可以对整数排序,不过性能比如-n高
按文件大小进行排序 可以排序2K, 1G等带单位的数字,适合排序某文件夹下所有文件和文件的大小,如
按月份进行排序
按字典序排序, 忽略字母、数字、空白字符外的所有字符
显示行号
cat -n
只对非空行显示行号
cat -b
对连续的空行只输出一个空行
cat -s
grep
添加颜色
grep --color
打印匹配行后面的N行
grep -A N
打印匹配行前面的N行
grep -B N
打印匹配行前后的N行
grep -C N
打印含有匹配行的文件的文件名
grep -l "query" ./*
打印没有匹配行的文件的文件名
grep -L "query" ./*
把pattern当作一个固定的字符串, 不进行正则解析,可以加快速度。
grep -F
只对指定的文件进行搜索
grep -nr --include=*.sh "AA" ./FILE1/
sort
1. 对文件按照修改时间排序
ll LinkunitServer/|sort -k8,8排序前
-rw-r--r-- 1 user1 user1 8493 Mar 21 10:30 Data.cpp -rw-r--r-- 1 user1 user1 26969 Mar 21 10:31 Logic.cpp -rw-r--r-- 1 user1 user1 105092 Mar 21 10:32 LogicWorker.cpp -rw-r--r-- 1 user1 user1 15107 Mar 21 10:32 LogicWorker.h -rw-r--r-- 1 user1 user1 907 Mar 21 10:30 Poll.cpp -rw-r--r-- 1 user1 user1 900 Mar 21 10:30 Type.h -rw-r--r-- 1 user1 user1 93 Mar 21 10:30 Version.h排序后
-rw-r--r-- 1 user1 user1 8493 Mar 21 10:30 Data.cpp -rw-r--r-- 1 user1 user1 900 Mar 21 10:30 Type.h -rw-r--r-- 1 user1 user1 907 Mar 21 10:30 Poll.cpp -rw-r--r-- 1 user1 user1 93 Mar 21 10:30 Version.h -rw-r--r-- 1 user1 user1 26969 Mar 21 10:31 Logic.cpp -rw-r--r-- 1 user1 user1 105092 Mar 21 10:32 LogicWorker.cpp -rw-r--r-- 1 user1 user1 15107 Mar 21 10:32 LogicWorker.h
2. 针对多个域(列)进行排序
eg 只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:
sort -t ‘ ‘ -k 1.2,1.2 -k 3,3nr salary.txt排序前
google 110 5000 baidu 100 5000 yahoo 50 3000 soso 100 4500 etao 500 3500排序后
baidu 100 5000 yahoo 50 3000 etao 500 3500 google 110 5000 soso 100 4500由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序。若使用-k 1.2,就意味着将对从第二个字母起到本域最后一个字符为止的字符串进行排序。同理,对员工工资进行排 序,使用了-k 3,3,表示“只”对本域进行排序。
3. 其它常用选项
对整数排序
-n, –numeric-sort
对于浮点数,负数,排序,当然也可以对整数排序,不过性能比如-n高
-g, –general-numeric-sort
按文件大小进行排序 可以排序2K, 1G等带单位的数字,适合排序某文件夹下所有文件和文件的大小,如
-h, –human-numeric-sort
du -sh * | sort -h
按月份进行排序
-M, –month-sort
按字典序排序, 忽略字母、数字、空白字符外的所有字符
-d, –dictionary-order
相关文章推荐
- BASH命令和SHELL脚本总结(12)如何对字段进行操作
- BASH命令和SHELL脚本总结(1)入门篇
- BASH命令和SHELL脚本总结(2)常识篇
- BASH命令和SHELL脚本总结(15)find和xargs和exec和rsync
- BASH命令和SHELL脚本总结(3)命令篇
- BASH命令和SHELL脚本总结(11)比较两个文件创建时间的先后
- BASH命令和SHELL脚本总结(19)递归地拷贝目录结构
- BASH命令和SHELL脚本总结(18)使用ACK在指定类型的文件中进行查找
- BASH命令和SHELL脚本总结(4)AWK篇
- bash的多命令执行,shell脚本基础及grep系
- BASH命令和SHELL脚本总结(16)父脚本中export的变量在子脚本中的可见性测试
- BASH命令和SHELL脚本总结(5)赋值篇
- BASH命令和SHELL脚本总结(6)括号篇
- BASH命令和SHELL脚本总结(10)脚本互相调用篇
- BASH命令和SHELL脚本总结(13)BASH中的快捷键和简写
- BASH命令和SHELL脚本总结(7)判断篇
- BASH命令和SHELL脚本总结(8)循环篇
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
- BASH命令和SHELL脚本总结(9)其它篇
- BASH命令和SHELL脚本总结(17)在BASH中计算两天的间隔天数