位置: 编程技术 - 正文

linux diff与comm命令比较文件(找出新增内容)(linux diff用法)

编辑:rootadmin

推荐整理分享linux diff与comm命令比较文件(找出新增内容)(linux diff用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux diff 源码 分析,linux的comm,linux中的diff命令,linux comm命令详解,linux diff用法,linux diff patch,linux diff命令详解,linux diff用法,内容如对您有帮助,希望把文章链接给更多的朋友!

在项目中遇到一个奇怪的bug,是由一行简单代码引起的。代码作用:比较两个UNIX文本文件,找出并打印文本2比文本1新增加的内容。代码调用了diff命令,例如: 复制代码代码如下: # temp1.txt文件内容$> cat temp1.txt# temp2.txt文件内容$> cat temp2.txt

# diff命令输出结果

复制代码代码如下:$> diff temp1.txt temp2.txt1,2d0< < a4,5> > # 只输出temp2.txt文件独有的内容$> diff temp1.txt temp2.txt | grep "> " | sed 's/> //g'

说明:输出结果去掉了两个文件的共同内容,只输出了temp2.txt的新增部分,和预想的结果一样。 但是,随着temp1.txt文件内容的增加,diff命令出现了不同预期的结果:

linux diff与comm命令比较文件(找出新增内容)(linux diff用法)

复制代码代码如下:$> cat temp1.txt$> cat temp2.txt$> diff temp1.txt temp2.txt1,c1,< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ---> > > > > > > > > > > $> diff temp1.txt temp2.txt | grep "> " | sed 's/> //g'

可以看到,diff命令不但输出了temp2.txt文件的新增部分(-),也同时输出了两个文件的共同内容(-),从而导致了与预期不一致的结果。查看diff命令的man手册发现,diff的作用是比较两个文件的内容,并输出两个文件之间的差异,产生一个能够将两个文件互相转换的列表,但这个列表并不能%保证是最小集。于是,以上例子中,可以看到diff给出了temp1.txt和temp2.txt文件的比较差异结果,但其中包含了两个文件的共同部分,因此与预期不一样。 解决方法:用comm命令代替diff,例如:

复制代码代码如下:$> comm - temp1.txt temp2.txt

comm命令用来比较两个文件,具体用法:comm [-] file1 file2-1 过滤file1独有的内容-2 过滤file2独有的内容-3 过滤file1和file2重复的内容 备注:diff的输出格式,主要有以下几种:n1 a n3,n4n1,n2 d n3n1,n2 c n3,n4例如"1,2d0" "5a4,5" "1,c1,"等。其中n1和n2指第一个文件的行数,n3和n4指第二个文件的行数。"a"代表add增加,"d"代表delete删除,"c"代表change整块变动。有了diff的输出结果,可以使用patch命令将一个文件恢复成另一个,例如:

复制代码代码如下:$> cat temp1.txt$> cat temp2.txt$> diff temp1.txt temp2.txt > temp.diff$> cat temp.diff1,2d0< < a4,5> > # 使用temp.diff和temp1.txt恢复temp2文件$> patch -i temp.diff -o temp2_restore.txt temp1.txtLooks like a normal diff.done# 完成后temp2_restore和原temp2文件内容一致$> cat temp2_restore.txt

查看Linux下系统资源占用常用命令(top、free、uptime) 一,top命令1.作用top命令用来显示执行中的程序进程,使用权限是所有用户。2.格式top[-][ddelay][q][c][S][s][i][n]3.主要参数d:指定更新的间隔,以秒计算。

linux date命令查看和设置时间详解(图文) date命令date命令的功能是显示和设置系统日期和时间。该命令的一般格式为:date[选项]显示时间格式(以+开头,后面接格式)date设置时间格式命令中各

linux ulimit命令用法解析 学习ulimit命令的用法。功能说明:控制shell程序的资源。语法:ulimit[-aHS][-ccore文件上限][-d数据节区大小][-f文件大小][-m内存大小][-n文件数目][-p缓冲区大

标签: linux diff用法

本文链接地址:https://www.jiuchutong.com/biancheng/360574.html 转载请保留说明!

上一篇:Linux下定时删除过期文件的方法(linux定时删除2天前的文件输出日志)

下一篇:查看Linux下系统资源占用常用命令(top、free、uptime)(查看linux系统日志命令)

  • 企业增值税必须退税吗?
  • 所得税优惠政策最新2022
  • 车船税讲解
  • 一般纳税人改成小规模纳税人
  • 个体工商户怎么注销
  • 资本公积怎么核实
  • 小规模纳税人购买原材料会计分录
  • 净资产包含哪些方面
  • 小规模纳税人季度多少免税
  • 事业单位申请电采暖电表免费么新疆昌吉
  • 物业代收费:有关法律
  • 其他综合收益损失
  • 合同不含税怎么算
  • 个体户如何报年报
  • 工程预付款需要监理审批吗
  • 如何确认是否要割包皮
  • 收到培训机构的电话骚扰该怎么办?
  • 生活用品发票可以报销吗
  • 原材料账户可以按什么进行明细核算
  • 接受应税劳务的会计分录怎么写
  • 公司代缴个人社保费怎么做账
  • 公共租赁住房的供应对象不包括
  • 华为折叠手机mateXs
  • Win11 Dev Build 22000.65开发预览版推送(附更新修复已知问题汇总)
  • 修改远程桌面端
  • 长时间不操作电动座椅会发生什么
  • 计提的工资大于实际发放的
  • 会计科目在建工程包括哪些
  • win10怎么隐藏菜单栏图标
  • 技术服务辅助设施包括
  • 销货方发票红冲操作流程
  • 未能连接到一个windows 的服务win7
  • 帝国cms标签调用大全
  • 视同销售收入税法处理
  • 固定资产提足折旧后报废怎么处理
  • PHP+HTML+JavaScript+Css实现简单爬虫开发
  • 简易办法征收增值税政策的通知
  • 维修费成本怎么结转
  • php构造函数重载
  • 材料采购计入哪个账本
  • 印花税的花贴在哪里
  • 如何利用口诀记住那字
  • 开票和不开票的销项税额怎么算
  • 金蝶软件资产负债表公式设置
  • pyqt 菜单
  • 勾选认证客户端不成功怎么办
  • 手机充值如何开公司发票
  • 微擎最新破解版
  • 法人如何提取公积金
  • 小规模纳税人的企业所得税怎么算
  • 原始凭证在账务处理程序中的作用
  • 税额四舍五入的差额0.03怎么调整
  • 销售退回的会计分录怎么做
  • 发票专用章和财务专用章可以同一人保管吗
  • 亏损企业所得税汇算清缴怎么做
  • 交易性金融资产入账价值怎么计算
  • 所得税申报表营业成本包括哪些
  • 销售提成如何入账
  • 无票收入的增值税税率
  • 办公楼出租如何交税
  • 材料按计划成本计价下,外购材料结算
  • 固定资产发票怎么处理
  • 销售回款率怎么计算,麻烦知道的告诉我,11
  • 七喜r11c笔记本
  • mac safari使用技巧
  • linux编译安装php扩展命令
  • 电脑开机绿
  • Linux常用命令的实验总结
  • rdclient怎么用win10怎么设置
  • Intermediate Unity 3D for iOS: Part 1/3
  • 很实用的话
  • jQuery实现select模糊查询(反射机制)
  • 创建表格在哪里找
  • unity自动寻路插件
  • 关于js的描述错误的是
  • shell怎么创建用户
  • 【mclin】手把手叫你在Eclipse里添加Android开发功能(附:完整离线版Android_SDK和Android_ADT下载)
  • 国税局征管科
  • 应缴财政专户款属于资产类吗
  • 美国网购消费者个人信息保护法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设