gmm*_*mmo 16 linux shell ubuntu
我可以使用diff命令找出两个文件是否相差k行?
我不想要上下文差异,只是两个文件之间不同的行总数.如果结果只是一个整数,则效果最佳.
谢谢!
小智 18
diff可以做所有工作的第一部分但不计算; wc -l剩下的就是:
diff -y --suppress-common-lines file1 file2 | wc -l
Zhi*_*Jia 17
是的,你可以,并且以真正的Linux方式,你可以使用多个命令管道来执行任务.
首先,您需要使用diff命令来获取文件中的差异.
diff file1 file2
Run Code Online (Sandbox Code Playgroud)
这将为您提供更改列表的输出.您感兴趣的是前缀为">"符号的行
您可以使用grep工具按如下方式过滤这些内容
diff file1 file2 | grep "^>"
Run Code Online (Sandbox Code Playgroud)
最后,一旦你有了你感兴趣的更改列表,你只需在行模式下使用wc命令来计算更改的数量.
diff file1 file2 | grep "^>" | wc -l
Run Code Online (Sandbox Code Playgroud)
而且你有一个完美的例子,说明了Linux的全部理念.