一个关于awk命令和sort命令的小例子
来源:互联网 发布:ubuntu c ide 编辑:程序博客网 时间:2024/06/05 05:07
假设现在有如下一个txt的文本记录:
a|b|c|150203161843.289|||1|2|c|150203161843.300|||a|m|c|150203161943.289||||b|c|150203162843.289|||a||c|150203171843.289|||
按|分割后的第四个域表示的时间,假设现在需要把第四个域单独提取到一个文件中,那么使用下面的命令即可完成:
cat test.txt | awk -F "|" '{print $4}'
结果如下:
150203161843.289150203161843.300150203161943.289150203162843.289150203171843.289
-F指定列的分隔符,这里的|是shell中的元字符,因此需要使用双引号,然后打印第四列即可。非常简单但是实用的用法。
如果要输出到一个文件直接重定向到该文件即可。如果要对输出的结果按照从大到小的顺序排序,直接再通过管道命令用sort排序即可
cat test.txt | awk -F "|" '{print $4}' | sort -n -r
-n指定以数字方式-r是逆序也就是从大到小。
如果我们要打印时间字段大于150203161843.300的行那么又该如何实现呢?同样非常简单
cat test.txt | awk -F "|" '($4>150203161843.300){print $4}'
只是多了($4>150203161843.300)这里是个条件表达式表示如果满足则执行后面的{}中的逻辑。这里也可以使用类c语言的风格使用if(){}else{}。
sort命令很明显是用来排序的,提供了非常灵活的排序方式,还是拿上面的例子,如果需要按照第四列时间进行排序,则可以写成下面的命令
cat test.txt | sort -t "|" -k 4
-t的意思是指定列分隔符,-k指定按照哪一列进行排序-k 4是指定第四列,如果还需要根据第一列,则可以继续-k。sort功能还包括去重甚至从某一列的第几个字符开始比较,功能也是很强大的。
0 0
- 一个关于awk命令和sort命令的小例子
- #AWK#SORT命令
- sort awk comm命令
- 使用sort命令和awk命令对数据集的label进行处理
- 关于read命令的一个小问题
- 小用awk命令
- awk的小例子
- 理解cut,awk,sort三个命令的分隔符选项
- 理解cut,awk,sort三个命令的分隔符选项
- Linux 中 sed 和 awk 命令常用例子
- strace命令的一个例子
- sed 和 awk命令
- Linux下find、awk、sed、grep命令的例子
- 关于shell sort命令的常用操作$
- sed、cut和awk命令的使用
- 一个关于WaitCallback和ThreadPool.QueueUserWorkItem的小例子
- sort命令和wc命令
- Linux C编程的一个小例子——实现一个简单的who命令(第一版)
- adroid中The connection to adb is down,问题和解决
- 关于c语言中的I/0函数
- iOS开发之实现图片自动切换(类似android画廊效果)
- PL/SQL 查询session杀不掉,强制终止线程的解决方法
- Spark实战01:单节点本地模式搭建Spark运行环境
- 一个关于awk命令和sort命令的小例子
- Ubuntu 14.10安装SecureCRT 7.3
- ElasticScrollView有弹性的ScrollView
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)E.Pretty Song
- ibatis
- 【Java】Java集合框架笔记
- newlisp kmeans算法
- 黑马程序员——java集合之斗地主和升级的集合运用总结
- QuartZ Cron表达式