当跳行之前存在不匹配时,diff -I 选项对我不起作用。
文件1:
a1
* b
文件2:
a2
* c
$ diff -I '*' 文件 1 文件 2
< a1
< * b
> a2
> * c
但是如果在两个文件中的第一行都是“a1”,输出就会很清楚。当行之前存在不匹配时,是否有任何建议如何跳过行?谢谢。
此评论可以很好地解释您观察到的行为。
详细说明,如果要读取输入文件:
$ cat 1
a1
* b
$ cat 2
a2
* c
然后diff
with-I
会给你预期的输出:
$ diff -I$'*' 1 2
1c1
< a1
---
> a2
在您的情况下,您可以使用替代方案,例如:
$ diff <(sed '/^\*/d' 1) <(sed '/^\*/d' 2)
1c1
< a1
---
> a2