首先,哪个是最好的,最快的UNIX命令,以获得两个文件之间的差异? 我尝试使用差异来做到这一点(下文)。
我尝试了Neilvert Noval在这里给出的答案 – 逐行比较两个文件,并在另一个文件中生成差异
代码 –
diff -a --suppress-common-lines -y file1.txt file2.txt >> file3.txt
但是,在不同的路线之前,我也得到了很多空间和一个符号。 我如何解决这个问题? 我正在考虑删除尾部空格和第一个“>”,但不知道这是否是一个整洁的修复。
为什么我不能用Bash For-Loop使用Unix Nohup?
在Perl脚本中使用Bash环境variables?
我如何计算远程git存储库的总行数
variables的一部分是可变的
脚本获得git工作目录根?
我的file1.txt有 –
Hello World! Its such a nice day! #this is a newline and not a line of text#
我的file1.txt有 –
Hello World! Its such a nice day! Glad to be here! #this is a newline and not a line of text#
预期产出 –很高兴在这里:)
赛后与sed可以得到下一行的长度吗?
Linux – kill -k开关如何在超时命令中工作
bash脚本删除'x'字符数目在一个目录中多个文件名的结尾?
从文件读入variables – Bash脚本take2
cp:之后缺less目标文件操作数
另一种获得差异的方法是使用awk:
awk 'FNR==NR{a[$0];next}!($0 in a)' file1 file2
虽然我必须承认,我没有运行任何基准,也不能说哪个是最快的解决方案。
diff的-y选项使得它产生一个“并排”的差异,这就是为什么你有空间。 尝试-u 0为统一格式,上下文为零行。 这应该打印:
+Glad to be here:)
diff -a --suppress-common-lines -y file1.txt file2.txt|tr 'a >' '' |awk '{print $1}' >>file3.txt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。