如何解决如何使用 diff 命令使用 ignore-matching-lines 选项在 2 个文件之间进行区分
我有 2 个文件,其中有一个与另一个文件不匹配的特定字符串。我需要使用 diff -I RE <file1> <file2>
命令忽略该差异。
我是从 man diff
-I RE --ignore-matching-lines=RE
Ignore changes whose lines all match RE.
$cat 1.txt
MY_WORD
temp
abc
$cat 2.txt
YOUR_WORD
temp
abc
$diff -I MY_WORD 1.txt 2.txt
1c1
< MY_WORD
---
> YOUR_WORD
4d3
<
谁能帮我弄清楚为什么这不起作用? diff
不应在此处显示任何更改。
解决方法
试试
diff -I ".*_WORD" 1.txt 2.txt
不幸的是 diff 似乎只了解基本的 RE,所以首选
diff -I "(MY|YOUR)_WORD" 1.txt 2.txt
不起作用 =(
编辑: 这是我从你的样本和我的调用中得到的(以及一个不匹配的 RE - 没有前导空格):
cat 1.txt 2.txt
MY_WORD
temp
abc
YOUR_WORD
temp
abc
diff -I ".*_WORD" 1.txt 2.txt
diff -I " .*_WORD" 1.txt 2.txt
1c1
< MY_WORD
---
> YOUR_WORD
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。