社区
Linux/Unix社区
帖子详情
第一列相同的行,如何只取最后一行?
lgjywjy
2011-04-10 08:06:18
有如下格式文本文件,几万行
3 4
3 5
4 2
4 3
4 4
6 3
6 4
7 1
8 3
9 1
9 2
。。。。。。
请问:对于第一列数值相同的行,如何只取最后一行?(没有重复的也要输出)
对于上面数据想得到的结果是:
3 5
4 4
6 4
7 1
8 3
9 2
感谢
...全文
578
3
打赏
收藏
第一列相同的行,如何只取最后一行?
有如下格式文本文件,几万行 3 4 3 5 4 2 4 3 4 4 6 3 6 4 7 1 8 3 9 1 9 2 。。。。。。 请问:对于第一列数值相同的行,如何只取最后一行?(没有重复的也要输出)对于上面数据想得到的结果是: 3 5 4 4 6 4 7 1 8 3 9 2 感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lgjywjy
2011-04-11
打赏
举报
回复
其实没这么复杂啦,你说的行列自己都说晕了吧。
解决方法:tac text| awk '!a[$1]++' | tac
tac从最后一行开始显示,是cat的倒写形式。
虽然你说的我不懂,但是没有别人回复,还是感谢你的回复,把分都给你
[Quote=引用 2 楼 korli319 的回复:]
如果不是这样的话,我想可以用sort来进行对数的第一行进行一下排序,使所有的第一列相同的数字都是挨在一起的。
然后可以先用awk中的NR函数给它加一个行号,那么就会变成:
1 3 4
2 3 5
3 4 2
4 4 3
5 4 4
6 6 3
7 6 4
。。。。
也就是说你原来的第一行变成了第二行,然后用awk从第1行开始,找出第二列相同的行且设置找出来的行数要大于等于……
[/Quote]
korli319
2011-04-10
打赏
举报
回复
如果不是这样的话,我想可以用sort来进行对数的第一行进行一下排序,使所有的第一列相同的数字都是挨在一起的。
然后可以先用awk中的NR函数给它加一个行号,那么就会变成:
1 3 4
2 3 5
3 4 2
4 4 3
5 4 4
6 6 3
7 6 4
。。。。
也就是说你原来的第一行变成了第二行,然后用awk从第1行开始,找出第二列相同的行且设置找出来的行数要大于等于1,然后分别读取第一列的行号,并取其中最大的一个行号的这一行(比如说这里是 2 ),那么这样就可以取出相同的行的最后一行!
当然这里要用一个while循环才行,将awk放在里面,
到下一个循环的时候就从第3行开始
,跟上面的一样将第四行找出来!
上面的从第3行开始找,可以用自加 a=2 a=`expr (a + 1)` 来实现!
不好意思,以上是我看到这个问题时,粗略的一个想法,还没有细想,有时间我再帮你细想下,希望对你有所帮助!
korli319
2011-04-10
打赏
举报
回复
想先问下你这个第一列数值相同的行都是挨在一起的吗?有没有会出现 3 4
4 2
3 5
4 3 这样的情况?
sql去重,对于数值
相同
的字段
只取
最后
一条数据或第一条数据
select * from xxxxxxx where id in (select max(id) from xxxxxxx where AAAA='0000 ' group by BBBB) xxxxxxx 为表名 AAAA 为表中的列名(也是该sql语句中的条件列) ...如果要取第一条数据,可以用 min(id) ...
shell
第一列
相同
即判断为重复,取其中一条数据
例如 123456.txt 内容如下: 90115601,2137786735 36684 90115601,2137786735 36684 90118301,17751822 34898 ...a[$1]++' | sort -t"," -k1 取
最后
一条数据 tac 123456.txt | awk -F, '!a[$1]++' | sort -t"," -k1
通过shell取多条重复数据的
最后
一条
任务说明:日志文件中存在多条记录,现要求.../bin/bash#获取
最后
一
行
的
行
号line_desc_num=`awk 'END{print NR}' log.txt`#循环每
一
行
,从第
一
行
开始for i in $line_desc_num#进入循环do#取出这
一
行
的第六列和第七...
python读取文件第
一
行
_python读取文件首
行
和
最后
一
行
python读取文件
最后
一
行
两种方式1)常规方法:从前往后依次读取步骤:open打开文件。读取文件,把文件所有
行
读入内存。遍历所有
行
,提取指定
行
的数据。优点:简单,方便缺点:当文件大了以后时间太慢,无法忍受2)...
shell
第一列
相同
即判断为重复,
只取
其中一条数据
取
最后
一条数据 cat 123456.txt | awk -F, '!a[$1]++' |sort -t"," -k1 本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1904482,如需转载请自
行
联系...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章