kdiff3 - 行匹配预处理器不起作用

时间:2017-05-30 12:49:51

标签: regex perl sed diff kdiff3

在比较文件时,我尝试忽略使用kdiff3的sed命令跟随正则表达式匹配的行:

sed 's/^\*\*.*//g'

Sed命令在命令行中工作(它删除以**开头的行),但在kdiff3中使用时,它完全忽略命令 - 带有模式的行仍然存在而不会被忽略。

故障排除措施:

  • 尝试在sed命令中将'更改为' - 无效
  • 尝试更简单的替换,没有任何正则表达式 - 没有效果
  • 尝试使用perl而不是sed(perl -p -e 's/\*.*//g') - 没有效果。

我正在使用RedHat Linux,而kdiff版本是0.9.97

输入示例:

***时间戳2017-05-31 03:00:13.159 ***
***四肢方向的存在就像实木以来一样。保护marianne领导受到了冒犯,但提供*** 六喜。传达结束报纸狂热哦。两个确实遭受了超越前者的痛苦

***时间戳2017-05-31 03:00:13.585 ***
***传达报纸的热情哦。两个人确实遭受了合理的远见*** 平铺说腐烂破坏现在墙壁意味着房子。我的先生的利益思想筛选超过了删除。晚上社会音乐剧除了我的居住之外。他将继续失去山丘。增加足够的

在终端中使用sed后的输出:

六个人都欣喜若狂。传达结束报纸狂热哦。两个确实遭受了超越前者的痛苦

Tiled说腐烂破坏现在墙壁意味着房子。我的先生的利益思想筛选超过了删除。晚上社会音乐剧除了我的居住之外。他将继续失去山丘。增加足够的

Configuration in kdiff3

2 个答案:

答案 0 :(得分:0)

尝试使用grep中所述的Preprocessor Command

 grep "^[^*]"

答案 1 :(得分:0)

我没有设法忽略那些使用kdiff的行,但是meld使用后续正则表达式\*\*.*就可以了。我希望能帮助那些寻找相同功能的人:)