位置: 编程技术 - 正文

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系统日志命令)

  • 代扣代缴个人所得税手续费返还 增值税
  • 进项税额和销项税额是什么
  • 购买冰箱微波炉注意事项
  • 税费退库怎么做凭证
  • 公司往来借款在现金流量表哪里填写
  • 开发票第一行
  • 财务费用和应付利息的关系
  • 承包费收入如何入账
  • 应税劳务和应税服务不合理列支的有哪些
  • 现金支票怎么支付的
  • 盈余公积补亏账务处理分录
  • 不动产在建工程是什么意思
  • 报销筹建期间的房租押金怎么做会计分录?
  • 未发货先开票怎么结转成本
  • 抵扣红冲发票怎么报税
  • 充话费送手机如何缴纳增值税
  • 成本核算会计科目包括
  • 2018年2月1日以后出口发票如何开具
  • 怎么合理规范地避免企业涉税风险?
  • 销项负数票需要把之前的票退回吗
  • 购入二手设备,无发票怎么记账
  • 总公司分派人员到分公司工作
  • 地方教育附加可以在企业所得税前扣除吗
  • 企业买的商业保险退款怎么做账
  • 怎么访问海康硬盘录像机
  • 主办会计工作注意什么
  • 流动资产和非流动资产占比多少合适
  • 企业并购效益
  • macos如何备份
  • kb4586819更新
  • 电脑很空但是占用率90
  • 劳务派遣增值税差额征税
  • microsoftedge怎么转换成ie
  • 短期投资取得的收益
  • 应收未收是什么
  • 二手房印花税怎么算2020
  • 清算期间会计分录
  • 资产负债表中各项目的期末余额
  • Web前端开发知识点总结
  • javaweb.xml配置文件
  • 销项税太多
  • 自产产品用于福利账务处理
  • 营改增之后还有营业税金及附加吗
  • 边际贡献分析法案例
  • 房地产开发间接费用和开发费用的区别
  • 核定征收企业可以享受研发费用加计扣除
  • 公对私转账有什么风险
  • 小规模未开票收入填在哪里
  • 装卸费专票
  • 房地产采取按揭销售的,其销售的入账时间为
  • 制造费用主要包括哪些内容
  • 进口设备 退税
  • 抵账的房子怎么办理房产证
  • 如果找国外客户
  • 企业的利润怎么提出来
  • 会展费会计分录
  • 其他债权投资减值准备是什么科目
  • 土地闲置费属于政府性基金收入
  • mysql rand整数
  • WINDOWS操作系统属于单用户任务操作系统
  • win7旗舰版系统怎么样
  • ubuntu软件安装
  • windows中常用的菜单有哪三个
  • Windows Server 2012实用技巧集锦
  • linux xim
  • windows关机音乐
  • win10移动版能运行电脑软件吗
  • 基于stm32的100个毕业设计
  • cocos2d-x window实现鼠标移动 键盘事件
  • perl 获取参数
  • easyui折叠面板默认折叠
  • Chrome调试技巧
  • jquery自定义表单
  • js判断是否是ie浏览器
  • 山东契税补贴政策2023年
  • 河南商丘联通宽带最低多少钱
  • 外经证可以不交企业所得税吗
  • 美国各地区消费水平
  • 广东发票查验平台下载
  • 城市维护建设税的计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设