gpt4 book ai didi

regex - Git 差异 : show ONLY changes not matching a pattern

转载 作者:太空狗 更新时间:2023-10-29 14:35:22 24 4
gpt4 key购买 nike

是否可以告诉 git diff 假设以某种模式开始的行没有变化?

例如,考虑以下内容:

$ git diff -U0
diff --git a/file_a.txt b/file_a.txt
index 26ed843..4071ff8 100644
--- a/file_a.txt
+++ b/file_a.txt
@@ -24 +24 @@
- * unimportant foo
+ * unimportant bar
diff --git a/file_b.txt b/file_b.txt
index c6d051e..4b3cf22 100644
--- a/file_b.txt
+++ b/file_b.txt
@@ -24 +24 @@
- * unimportant foo
+ * unimportant bar
@@ -48,0 +49 @@
+ this is important
@@ -56,0 +58 @@
+ this is also important

以星号开头的行(正则表达式 "^[[:space:]]*\*.*")并不重要,我想过滤包含此类行更改的文件仅来自 git diff 的输出。在上面的示例中,输出应仅报告 file_b.txt 更改。可能吗?

最佳答案

可以使用 git diff -G 标志并反转正则表达式以匹配第一个不是空格的字符既不是 * 也不是空格的行。

-G '^[[:space:]]*[^[:space:]*]'

不是很有效,因为会回溯但看起来是负面的前瞻性 '^(?!\s*\*)',所有格量词 '^\s*+[^*]' 或原子组 '^(?>\s*)[^*]' 不受支持。

关于regex - Git 差异 : show ONLY changes not matching a pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53450186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com