点击上方“编程三分钟”,马上关注,技术原来如此简单。 “ 今天学了三个文本比较的命令分享给大家。——编程三分钟” commcomm 命令比较相同的文本 $ cat char 比如,我有两个文件 char 和chardiff 如上,略有不同,就可以用这个命令输出。$ comm char chardiff 如上,看起来输出的乱七八糟,他只是把两个文件按列把各自特有的输出,最后再输出共有的。 所以参数 -1 代表不输出第1列,也就是第2列和第3列。-2 输出第1列和第3列,-3 输出第1、2列的。参数比较废,看起来很费劲。$ comm -1 char chardiff comm 命令比较笨,只能针对已经排序过的数据,如果没有排序过,像abc 和acb 就会识别成仅仅a 相同,暂时没想到比较好的使用场景。diff用到 git 的都知道git diff 有多好用,虽然不如可视化页面直观,意在快速便捷。下面是一个例子, char 文件内容是abc ,chardiff2 内容是bcd $ diff -c char chardiff2 直接加了 -c 参数是为了更直观,感兴趣可以自己尝试去掉-c 看看是什么效果。*** 1,3 **** 和--- 1,3 ---- 代表1到3行,- 代表删除行,+ 代表增加行,! 代表更改行。diff 不仅可以临时对比两个文件之间的差异,但是和下一个命令组合起来才是其真正的用处。patch 补丁通常在更新几百万行的项目时,如果只有几行有变化,全部打包过来根本是不可能的,因为它太大了,而且全部拷过来也没有意义,最大的问题是人力难以对比。 在这之前我们需要生成一个补丁文件 $ diff -Naur folder1 folder2 > diff_file 得到补丁文件 diff_file 之后,发到与foler1 版本一模一样的位置就可以更新成功了!$cd folder1 如果要回滚就加 -R 参数$ patch -R < diff_file 它的参数如下 -p num :忽略几层文件夹-E :如果发现了空文件,那么就删除它-R :取消打过的补丁推荐阅读 (点击标题可跳转阅读) Vim 高级操作一看就会 Linux三剑客老二sed 定制自己的Docker镜像 回复 m 获取全部文章目录 ![]() 如果有帮助别忘了分享给朋友哦~ ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:编程三分钟,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |