当跳过的行之前不匹配时,diff -I选项对我不起作用。
File1中:
a1
* b
文件2:
a2
* c
$ diff -I'*'File1 File2
< a1
< * b
> a2
> * c
但是如果在两个文件中第一行是“a1”,则输出将是清除的。 有任何建议如何在行之前不匹配时跳过行吗? 感谢。
答案 0 :(得分:1)
this评论可以很好地解释您正在观察的行为。
详细说明,如果要读取输入文件:
$ cat 1
a1
* b
$ cat 2
a2
* c
然后diff
-I
将为您提供预期的输出:
$ diff -I$'*' 1 2
1c1
< a1
---
> a2
在您的情况下,您可以使用以下替代方案:
$ diff <(sed '/^\*/d' 1) <(sed '/^\*/d' 2)
1c1
< a1
---
> a2