linux 那些文本工具,linux之文本比较工具
文本比较工具常见的有:
diff 以行为单位,常用在ASCII纯文本文件的比较上,常用于同一文件(软件)新旧版本之间的差异比较上
cmp 比较两个文件,以字节为单位,使用较少
这里主要介绍一下diff的用法和后续的patch 命令
[root @localhost ~]#mkdir -p /tmp/vitest #创建目录
[root @localhost ~]#cd /tmp/vitest
[root @localhost vitest]#cp /etc/passwd passwd.old
[root @localhost vitest]#cat /etc/passwd | sed -e '4d' -e '6c no six line' > passwd.new
注意:sed 后面接超过两个以上的动作时,每一个动作前都要加上-e
现在来比较一下两个文件的区别,如何使用 diff
[root @localhost ~]#diff [-bBi] from-file to-file
参数解析:
-b 忽略一行当中有多个空白的差异,如 l Love 与 I Love的差异
-B 忽略空白行的区别
-i 忽略大小写的差异
from-file 作为欲比较的文件,to-file作为基准文件,from-file额to-file可以与 - 替换,表示stanard input之意
现在来比较 passwd.old 和 passwd.new 的差异
[root @localhost vitest]#diff passwd.old passwd.new
解析:依次是,左边第4行被删除,基准是右边的第3行,注意这里的
左边第6行被替换成右边的第5行
右边 “>”第5行内容
新建的passwd.old和passwd.new之间是两个不同的版本,如果要软件升级怎么办?就是将旧的文件升级为新的文件,可以先比较新旧版本,再将区别文件制作成不定文件,再由补丁文件更新旧文件
[root @localhost vitest]#diff -Naur passwd.old passwd.new > passwd.patch
[root @localhost vitest]#cat passwd.patch
以行为单位,找到不一样的地方,新文件看到-会删除,看到+会增加。那如何将旧文件更新为新的内容呢,就是讲passwd.old文件更新为passwd.new文件
[root @localhost vitest]#patch -pN < patch.file #更新
[root @localhost vitest]#patch -R -pN < patch.file #还原
参数解析:
-p 后面的N表示取消第几层目录的意思
-R 表示还原,将新的文件还原成旧的文件
现在,将刚才制作的patch file用来更新就版本
[root @localhost vitest]#patch -p0 < passwd.patch
[root @localhost vitest]#ll passwd*
版本回退到原来的旧版本呢
关于这里为什么是 -p0,因为我们比较新旧版本的数据是在同一个目录下,因此不需要减去目录了
linux 那些文本工具,linux之文本比较工具相关推荐
- linux ranger 文本模式,Linux 中 ranger 的使用方法
ranger 是一个很好的工具,它为你的 Linux 文件提供了一个多级视图,并允许你使用方向键和一些方便的命令进行浏览和更改. ranger 是一款独特且非常方便的文件系统导航器,它允许你在 Lin ...
- linux cat 文本颜色,linux文本文件查看、展示命令 :cat head tail grep more less nl
linux文本文件查看.显示命令 :cat head tail grep more less nl linux文本文件查看.显示命令 :cat head tail grep more less n ...
- linux基础-文本编辑器,Linux基础之vim文本编辑器
一.简介: vim是从 vi发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 1.viimproved,vim 全屏编辑器,模式化,功能强大,短小精悍 ...
- linux 搜索文本手机号,Linux三剑客学习之提取手机号码
[问题描述] 会员提供的信息中,有些手机号是会员随意输入的,因此要统计出有效的手机号. 如以下信息:18295089368 1895089368 185089368 182089368 1788888 ...
- 在线压力测试工具-程序员在线工具网
本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...
- 比较文本差异的工具_Linux 开发的五大必备工具 | Linux 中国
Linux 已经成为工作.娱乐和个人生活等多个领域的支柱,人们已经越来越离不开它.在 Linux 的帮助下,技术的变革速度超出了人们的想象,Linux 开发的速度也以指数规模增长.因此,越来越多的开发 ...
- 史上最全的 Linux Shell 文本处理工具集锦,快收藏!
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自:大CC 链接:www.cnblogs.com/me15/p/3427319.html 本 ...
- shell脚本教学进阶——Linux三大文本处理工具之grep
1.简介 Linux系统中grep命令是一种强大的文本搜索.查找过滤工具,,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular Expression Prin ...
- 超全的 Linux Shell 文本处理工具集锦,快收藏
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 大CC 来源 | www.cnblogs.co ...
最新文章
- python数据分析实况_机器学习竞赛分享:通用的团队竞技类的数据分析挖掘方法...
- php中的preg_replace函数,PHP函数preg_replace()
- Mybatis动态代理模式实现CRUD
- java jar 配置文件路径_java jar 配置文件的相对路径问题
- (原創) 如何使用Operator Overloading? (C/C++)
- fastjson JSONObject.toJSONString 出现 $ref: $.的解决办法(重复引用)
- 【Flink】Failed to create checkpoint storage at checkpoint coordinator side
- Oracle - 导入异常ORA-01659和11G在Exp时空表不能导出
- Matlab Tricks(五)—— shuffle 一个矩阵
- C# WPF ListView Bindding 图片
- [WebApi] 捣鼓一个资源管理器--多文件上传
- Python用pyecharts绘制中国各地级市gdp分布点图
- 人体计算机原理,人体静力学
- (73)Wangdao.com第十二天_JavaScript consol 对象与控制台
- 鲸探发布点评:9月1日发售《新石器黄玉猪龙形珮》数字藏品
- 重新编译CDH版本hadoop报错:Non-resolvable parent POM: Could not transfer artifact com.
- Pythont打开 txt 格式的文件
- Adobe中国授权培训中心操作说明—Adobe认证
- 达梦数据库dm7同构数据库的双向同步
- 北大光华管理学院公开课北京站