使用Diff检查文件夹结构中更改的文件,忽略以pattern开头的行

时间:2014-11-17 17:20:35

标签: linux diff

以下尝试在Magento安装中找到文件的更改:

diff --exclude="cache" --exclude="session" --exclude="tmp" --ignore-matching-lines='\*.+' -urq /folder/modified /folder/original > diff.txt

问题实际上是忽略声明根本不起作用。一个文件夹中文件的标题包含:

* @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)

和另一个

* @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)

我更愿意仅针对这些行,但任何评论都会真正做到。

2 个答案:

答案 0 :(得分:4)

工作解决方案:

diff --exclude="cache" --exclude="session" --exclude="tmp" --ignore-matching-lines='copyright *Copyright.*Magento' -urq dir1 dir2

正则表达式只是修改过。

答案 1 :(得分:0)

在较新版本的Magento中,版权线略有变化:

* @copyright Copyright (c) 2006-2017 X.commerce, Inc. and affiliates (http://www.magento.com)

所以我现在使用这个diff命令:

diff -r --exclude="var" --exclude="downloader" --ignore-matching-lines='copyright' 1.9.3.3 1.9.3.1

提示:您也可以将此输出传输到colordiff以对其进行着色,或者diffstat对其进行汇总。