两个文件之间的差异显示空行

时间:2015-10-20 17:03:30

标签: linux bash shell

我试图获得两个文件之间的差异,即使文件看起来相同,但它显示了它在开头有空行的区别

如何在做差异之前删除空行

我知道sed -i' / ^ $ / d应该可以工作但是它对我来说没有任何其他方式

谢谢

2 个答案:

答案 0 :(得分:1)

请参阅diff man page

-B, --ignore-blank-lines
              ignore changes where lines are all blank

答案 1 :(得分:1)

如果要删除所有空行(不包含非空白字符),可以执行以下操作:

perl -i -pe 's/^\s*\z//' yourfile.txt

或者,假设GNU sed:

sed -i '/[^ \t]/!d' yourfile.txt

这并不完全相同,因为perl的\s将更多的东西视为空白而不仅仅是空格和制表符。