我有两个要比较的文件文件夹,除了我要忽略所有文件中的第一行。我试过了
diff -Nr <(tail -n +1 folder1/) <(tail -n +1 folder2/)
但这显然不是正确的方法。
如果您要忽略的前几行具有可以与POSIX正则表达式匹配的独特格式,则可以使用diff
的--ignore-matching-lines=...
选项告诉它忽略这些行。
如果不这样做,您要采用的方法可能取决于您的确切要求。您说您“想比较”这些文件,但是尚不清楚确切的结果输出是否需要与diff -Nr
支持该功能的输出相匹配。(例如,您是否需要diff中的行号以正确标识原始文件中的行号?)
最精确的忠实方法可能如下:
cp --recursive ...
。IGNORE_THIS_LINE::
使用诸如之类的魔术字符串作为前缀find -type f -exec sed -i '1 s/^/IGNORE_THIS_LINE::/' '{}' ';'
。diff -Nr --ignore-matching-lines=^IGNORE_THIS_LINE:: ...
结果进行比较。
sed s/IGNORE_THIS_LINE:://
,以便过滤出IGNORE_THIS_LINE::
仍然出现的所有内容(由于处于几行不可忽略的差异之内)。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句