bug-diffutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-diffutils] bug#55652: please elaborate on diff -u -I RE


From: Harald Dunkel
Subject: [bug-diffutils] bug#55652: please elaborate on diff -u -I RE
Date: Thu, 26 May 2022 11:15:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1

Hi folks,

I have hoped that

        diff -I '^[[:space:]]*\#' file1 file2

would ignore comment lines, but it doesn't work as I expected.
Example:

        #!/bin/bash

        diff -version | head -1

        echo -e '\t# comment 1' >/tmp/x1
        echo -e '\t# comment 2' >/tmp/x2
        diff -u -I '^[[:space:]]*\#' /tmp/x1 /tmp/x2 && echo 'no diffs'

        echo -e '' >>/tmp/x1
        echo -e '' >>/tmp/x2
        diff -u -I '^[[:space:]]*\#' /tmp/x1 /tmp/x2 && echo 'still no diffs'

        echo -e 'hello, world' >>/tmp/x2
        diff -u -I '^[[:space:]]*\#' /tmp/x1 /tmp/x2 && echo 'no diffs'
        echo "diff --normal"
        diff -I '^[[:space:]]*\#' /tmp/x1 /tmp/x2 && echo 'no diffs'

Output:

        diff (GNU diffutils) 3.8
        no diffs
        still no diffs
        --- /tmp/x1     2022-05-26 10:54:36.187361365 +0200
        +++ /tmp/x2     2022-05-26 10:54:36.191361276 +0200
        @@ -1,2 +1,3 @@
        -       # comment 1
        +       # comment 2
        
        +hello, world
        diff --normal
        2a3
        > hello, world

This seems weird. Only 1 line has been appended to x2 before running
diff the third time. It does not match the pattern. How comes diff -u
reports 2 different lines, with an unchanged line in between? Is this
as expected?


Regards

Harri





reply via email to

[Prev in Thread] Current Thread [Next in Thread]