LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 755|回复: 6

检查文件少了哪些行

[复制链接]
发表于 2009-3-29 20:24:31 | 显示全部楼层 |阅读模式
被检查的文件每行都只有一个行号,从1开始,最后一个是250.但是中间有缺失的,求问如何快速得知缺少了那几行???
就是说file1有1
2
4...
250

file2是1
2
3
4...
250一行不拉。如何比较出file1少了哪些行
发表于 2009-3-29 20:53:25 | 显示全部楼层
cat file1 file2 | sort | uniq -u
回复 支持 反对

使用道具 举报

发表于 2009-3-29 20:56:38 | 显示全部楼层
或者
diff -c file1 file2 | grep "^+ " | awk '{print $2}'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-29 22:32:42 | 显示全部楼层
泪流满面。。。。。有个拜您为师的冲动。。。。
回复 支持 反对

使用道具 举报

发表于 2009-3-29 22:34:50 | 显示全部楼层
Post by whitelilis;1967253
cat file1 file2 | sort | uniq -u


好像是sort -n吧  sort默认是按asicc码排序的
回复 支持 反对

使用道具 举报

发表于 2009-3-30 10:38:12 | 显示全部楼层
Post by whitelilis;1967254
或者
diff -c file1 file2 | grep "^+ " | awk '{print $2}'


这个方法好,呵呵,赞
回复 支持 反对

使用道具 举报

发表于 2009-3-30 10:42:40 | 显示全部楼层
Post by lx308033262;1967311
好像是sort -n吧  sort默认是按asicc码排序的


可以作试验试一下,按哪个排序是无所谓的,因为相同的行总会在一起,uniq -u 会把这些相同的行忽略。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表