系统环境:CentOS 6.2 x86_64内容如下:要求:每个数据保留最初的和最后的,就是日期相同的只打印第一个和最后一个(类似打卡记录筛选)方法:awk "{a[$1]++;b[$1,a[$1]]=$0}END{for(i in a) print b[i,1],b[i,a[i]]}" 123解析:第一个数组a以$1下标,并累加。第二个数组b为二位数组,以$1,a[$1]为下标,并把$0赋值给b。因为a数组累加,所以相同下标的出现多少次,其值就为多少。b数组中相同第一个下标的最后一个的第二个下标就是a[第一个]的值,所以最打印的b[i,1],b[i,a[i]] 就是想要的结果。Linux命令:ls 排序sed D循环之反向输出相关资讯 awk
- 使用 awk 过滤文本或文件中的字符 (07月25日)
- Linux 管理员都应该会的命令:sed (01月13日)
- Linux awk文本分析工具 (12/13/2015 16:29:12)
| - 使用awk格式化输出文本 (04月14日)
- 使用awk批量杀进程的命令 (12/20/2015 15:36:24)
- 使用 Linux/Unix 进行文本处理 (11/23/2015 09:54:13)
|
本文评论 查看全部评论 (0)