Is grep documentation wrong? Announcing the arrival of Valued Associate #679: Cesar Manara ...

How to tell that you are a giant?

Do wooden building fires get hotter than 600°C?

What is homebrew?

2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?

Is there any way for the UK Prime Minister to make a motion directly dependent on Government confidence?

Is grep documentation wrong?

Irreducible of finite Krull dimension implies quasi-compact?

Do I really need to have a message in a novel to appeal to readers?

Dating a Former Employee

How do I stop a creek from eroding my steep embankment?

Fantasy story; one type of magic grows in power with use, but the more powerful they are, they more they are drawn to travel to their source

Why are there no cargo aircraft with "flying wing" design?

What is the meaning of the simile “quick as silk”?

Why aren't air breathing engines used as small first stages

Quick way to create a symlink?

Do jazz musicians improvise on the parent scale in addition to the chord-scales?

Maximum summed powersets with non-adjacent items

Is there a holomorphic function on open unit disc with this property?

Around usage results

Is it ethical to give a final exam after the professor has quit before teaching the remaining chapters of the course?

Using audio cues to encourage good posture

What causes the direction of lightning flashes?

How can I use the Python library networkx from Mathematica?

Can a party unilaterally change candidates in preparation for a General election?



Is grep documentation wrong?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questiongrep and brackets in textgrep: Ignoring GREP_OPTIONS to search case-sensitiveHow to Get FreeBSD Grep to recognize '-' option?Grep on single lineHow to find/grep what is between string1 and string2?Recursive Grep with filename pattern specifiedWhy does grep not work?grep works with one filepath, not anotherquote files matched by grepDoes grep --color default to =auto or =always?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







3















The man page for grep reads



  -i, --ignore-case                                                        
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)


However, if I change case on a filename, it won't work.



$ touch WHATEVER
$ grep -i pattern whatever
grep: whatever: No such file or directory


Am I missing something?










share|improve this question







New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • @steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

    – grep
    1 hour ago











  • No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

    – mosvy
    1 hour ago













  • @drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

    – grep
    1 hour ago











  • FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

    – mosvy
    1 hour ago






  • 2





    @grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

    – Nasir Riley
    1 hour ago


















3















The man page for grep reads



  -i, --ignore-case                                                        
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)


However, if I change case on a filename, it won't work.



$ touch WHATEVER
$ grep -i pattern whatever
grep: whatever: No such file or directory


Am I missing something?










share|improve this question







New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • @steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

    – grep
    1 hour ago











  • No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

    – mosvy
    1 hour ago













  • @drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

    – grep
    1 hour ago











  • FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

    – mosvy
    1 hour ago






  • 2





    @grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

    – Nasir Riley
    1 hour ago














3












3








3








The man page for grep reads



  -i, --ignore-case                                                        
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)


However, if I change case on a filename, it won't work.



$ touch WHATEVER
$ grep -i pattern whatever
grep: whatever: No such file or directory


Am I missing something?










share|improve this question







New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












The man page for grep reads



  -i, --ignore-case                                                        
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)


However, if I change case on a filename, it won't work.



$ touch WHATEVER
$ grep -i pattern whatever
grep: whatever: No such file or directory


Am I missing something?







grep documentation






share|improve this question







New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 1 hour ago









grepgrep

202




202




New contributor




grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






grep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • @steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

    – grep
    1 hour ago











  • No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

    – mosvy
    1 hour ago













  • @drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

    – grep
    1 hour ago











  • FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

    – mosvy
    1 hour ago






  • 2





    @grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

    – Nasir Riley
    1 hour ago



















  • @steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

    – grep
    1 hour ago











  • No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

    – mosvy
    1 hour ago













  • @drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

    – grep
    1 hour ago











  • FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

    – mosvy
    1 hour ago






  • 2





    @grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

    – Nasir Riley
    1 hour ago

















@steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

– grep
1 hour ago





@steeldriver I actually tried in several systems (all Linux). I'm using grep (GNU grep) 2.16. How can I get the information about the man page?

– grep
1 hour ago













No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

– mosvy
1 hour ago







No, you're not missing anything. It's not supposed to work -- grep cannot ignore case differences in the filenames passed as arguments (what should it do? try all possible filenames combination when open(2)ing a file? Whatever, wHaTevER, etc? ;-)). I let the other find a rationalization for that confusing doc snippet.

– mosvy
1 hour ago















@drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

– grep
1 hour ago





@drewbenn Did you really? Or are you trying to find arguments to support that it is correct? This is a genuine question, I'm not trying to start a fight. And I have an additional question. If it is as you say, what would it mean to ignore case in the pattern, but not in the contents of the file? What functionality would this be and how would it differ from how it works?

– grep
1 hour ago













FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

– mosvy
1 hour ago





FWIW, the standard says only this about -i: "Perform pattern matching in searches without regard to case"

– mosvy
1 hour ago




2




2





@grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

– Nasir Riley
1 hour ago





@grep It DOES ignore case in the contents of the file as well as the pattern. It doesn't ignore case in the name of the file.

– Nasir Riley
1 hour ago










3 Answers
3






active

oldest

votes


















2














That confusing snippet was changed in newer versions of GNU grep to:




-i, -ignore-case
Ignore case distinctions, so that characters that differ only in case match each other.




See this commit: http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91



 .BR -i ", " -^-ignore-case
-Ignore case distinctions in both the
-.I PATTERN
-and the input files.
+Ignore case distinctions, so that characters that differ only in case
+match each other.





share|improve this answer


























  • Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

    – grep
    47 mins ago











  • sorry for the mixup

    – mosvy
    28 mins ago



















1















"It ignores case in the file (contents) but also in the pattern",
this suggests (although it doesn't necessarily say it),
that it is possible to ignore case in the pattern, but not in the contents. 
I'd like to understand how this would work
(ignoring pattern, but not contents -- or the other way around).




Well, for example, it could be written
so that a pattern of “hello” would match “Hello” in the file,
but not vice versa. 
While this sounds hypothetical, it is the way spell-check works. 
If your dictionary contains “stack” and “exchange”,
and your document contains “Stack Exchange”,
spell-check will succeed without error. 
But if your dictionary contains “Unix” and your document contains “unix”,
that will be flagged as an error.






share|improve this answer































    0














    Apparently I have a different manpage.



       -i, --ignore-case
    Ignore case distinctions, so that characters that differ only in
    case match each other.


    In any case, it's not about the filenames.



    It ignores case in the file (contents) but also in the pattern.



    Test file:



    ___________
    Hello World
    ^^^^^^^^^^^


    Grep results (ignore case of file contents):



    $ grep hello test.txt 

    $ grep Hello test.txt
    Hello World
    $ grep -i HELLO test.txt
    Hello World
    $ grep -i hello test.txt
    Hello World


    Grep results (ignore case of pattern):



    $ grep [a-Z] test.txt 
    grep: Invalid range end
    $ grep -i [a-Z] test.txt
    Hello World
    $ grep -i [A-z] test.txt
    Hello World
    $ grep [A-z] test.txt
    ___________
    Hello World
    ^^^^^^^^^^^


    As you can see the results can sometimes be a little unexpected.



    Not sure if there is an example where this actually matters more.






    share|improve this answer



















    • 1





      "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

      – grep
      1 hour ago








    • 1





      In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

      – Wumpus Q. Wumbley
      57 mins ago












    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });






    grep is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f513108%2fis-grep-documentation-wrong%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    That confusing snippet was changed in newer versions of GNU grep to:




    -i, -ignore-case
    Ignore case distinctions, so that characters that differ only in case match each other.




    See this commit: http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91



     .BR -i ", " -^-ignore-case
    -Ignore case distinctions in both the
    -.I PATTERN
    -and the input files.
    +Ignore case distinctions, so that characters that differ only in case
    +match each other.





    share|improve this answer


























    • Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

      – grep
      47 mins ago











    • sorry for the mixup

      – mosvy
      28 mins ago
















    2














    That confusing snippet was changed in newer versions of GNU grep to:




    -i, -ignore-case
    Ignore case distinctions, so that characters that differ only in case match each other.




    See this commit: http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91



     .BR -i ", " -^-ignore-case
    -Ignore case distinctions in both the
    -.I PATTERN
    -and the input files.
    +Ignore case distinctions, so that characters that differ only in case
    +match each other.





    share|improve this answer


























    • Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

      – grep
      47 mins ago











    • sorry for the mixup

      – mosvy
      28 mins ago














    2












    2








    2







    That confusing snippet was changed in newer versions of GNU grep to:




    -i, -ignore-case
    Ignore case distinctions, so that characters that differ only in case match each other.




    See this commit: http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91



     .BR -i ", " -^-ignore-case
    -Ignore case distinctions in both the
    -.I PATTERN
    -and the input files.
    +Ignore case distinctions, so that characters that differ only in case
    +match each other.





    share|improve this answer















    That confusing snippet was changed in newer versions of GNU grep to:




    -i, -ignore-case
    Ignore case distinctions, so that characters that differ only in case match each other.




    See this commit: http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91



     .BR -i ", " -^-ignore-case
    -Ignore case distinctions in both the
    -.I PATTERN
    -and the input files.
    +Ignore case distinctions, so that characters that differ only in case
    +match each other.






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 29 mins ago

























    answered 52 mins ago









    mosvymosvy

    10.2k11237




    10.2k11237













    • Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

      – grep
      47 mins ago











    • sorry for the mixup

      – mosvy
      28 mins ago



















    • Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

      – grep
      47 mins ago











    • sorry for the mixup

      – mosvy
      28 mins ago

















    Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

    – grep
    47 mins ago





    Do you mind opening that link in private mode finding that part of the doc? I just went through all ten occurrences of "ignore" and couldn't find that bit.

    – grep
    47 mins ago













    sorry for the mixup

    – mosvy
    28 mins ago





    sorry for the mixup

    – mosvy
    28 mins ago













    1















    "It ignores case in the file (contents) but also in the pattern",
    this suggests (although it doesn't necessarily say it),
    that it is possible to ignore case in the pattern, but not in the contents. 
    I'd like to understand how this would work
    (ignoring pattern, but not contents -- or the other way around).




    Well, for example, it could be written
    so that a pattern of “hello” would match “Hello” in the file,
    but not vice versa. 
    While this sounds hypothetical, it is the way spell-check works. 
    If your dictionary contains “stack” and “exchange”,
    and your document contains “Stack Exchange”,
    spell-check will succeed without error. 
    But if your dictionary contains “Unix” and your document contains “unix”,
    that will be flagged as an error.






    share|improve this answer




























      1















      "It ignores case in the file (contents) but also in the pattern",
      this suggests (although it doesn't necessarily say it),
      that it is possible to ignore case in the pattern, but not in the contents. 
      I'd like to understand how this would work
      (ignoring pattern, but not contents -- or the other way around).




      Well, for example, it could be written
      so that a pattern of “hello” would match “Hello” in the file,
      but not vice versa. 
      While this sounds hypothetical, it is the way spell-check works. 
      If your dictionary contains “stack” and “exchange”,
      and your document contains “Stack Exchange”,
      spell-check will succeed without error. 
      But if your dictionary contains “Unix” and your document contains “unix”,
      that will be flagged as an error.






      share|improve this answer


























        1












        1








        1








        "It ignores case in the file (contents) but also in the pattern",
        this suggests (although it doesn't necessarily say it),
        that it is possible to ignore case in the pattern, but not in the contents. 
        I'd like to understand how this would work
        (ignoring pattern, but not contents -- or the other way around).




        Well, for example, it could be written
        so that a pattern of “hello” would match “Hello” in the file,
        but not vice versa. 
        While this sounds hypothetical, it is the way spell-check works. 
        If your dictionary contains “stack” and “exchange”,
        and your document contains “Stack Exchange”,
        spell-check will succeed without error. 
        But if your dictionary contains “Unix” and your document contains “unix”,
        that will be flagged as an error.






        share|improve this answer














        "It ignores case in the file (contents) but also in the pattern",
        this suggests (although it doesn't necessarily say it),
        that it is possible to ignore case in the pattern, but not in the contents. 
        I'd like to understand how this would work
        (ignoring pattern, but not contents -- or the other way around).




        Well, for example, it could be written
        so that a pattern of “hello” would match “Hello” in the file,
        but not vice versa. 
        While this sounds hypothetical, it is the way spell-check works. 
        If your dictionary contains “stack” and “exchange”,
        and your document contains “Stack Exchange”,
        spell-check will succeed without error. 
        But if your dictionary contains “Unix” and your document contains “unix”,
        that will be flagged as an error.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 48 mins ago









        G-ManG-Man

        13.7k93870




        13.7k93870























            0














            Apparently I have a different manpage.



               -i, --ignore-case
            Ignore case distinctions, so that characters that differ only in
            case match each other.


            In any case, it's not about the filenames.



            It ignores case in the file (contents) but also in the pattern.



            Test file:



            ___________
            Hello World
            ^^^^^^^^^^^


            Grep results (ignore case of file contents):



            $ grep hello test.txt 

            $ grep Hello test.txt
            Hello World
            $ grep -i HELLO test.txt
            Hello World
            $ grep -i hello test.txt
            Hello World


            Grep results (ignore case of pattern):



            $ grep [a-Z] test.txt 
            grep: Invalid range end
            $ grep -i [a-Z] test.txt
            Hello World
            $ grep -i [A-z] test.txt
            Hello World
            $ grep [A-z] test.txt
            ___________
            Hello World
            ^^^^^^^^^^^


            As you can see the results can sometimes be a little unexpected.



            Not sure if there is an example where this actually matters more.






            share|improve this answer



















            • 1





              "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

              – grep
              1 hour ago








            • 1





              In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

              – Wumpus Q. Wumbley
              57 mins ago
















            0














            Apparently I have a different manpage.



               -i, --ignore-case
            Ignore case distinctions, so that characters that differ only in
            case match each other.


            In any case, it's not about the filenames.



            It ignores case in the file (contents) but also in the pattern.



            Test file:



            ___________
            Hello World
            ^^^^^^^^^^^


            Grep results (ignore case of file contents):



            $ grep hello test.txt 

            $ grep Hello test.txt
            Hello World
            $ grep -i HELLO test.txt
            Hello World
            $ grep -i hello test.txt
            Hello World


            Grep results (ignore case of pattern):



            $ grep [a-Z] test.txt 
            grep: Invalid range end
            $ grep -i [a-Z] test.txt
            Hello World
            $ grep -i [A-z] test.txt
            Hello World
            $ grep [A-z] test.txt
            ___________
            Hello World
            ^^^^^^^^^^^


            As you can see the results can sometimes be a little unexpected.



            Not sure if there is an example where this actually matters more.






            share|improve this answer



















            • 1





              "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

              – grep
              1 hour ago








            • 1





              In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

              – Wumpus Q. Wumbley
              57 mins ago














            0












            0








            0







            Apparently I have a different manpage.



               -i, --ignore-case
            Ignore case distinctions, so that characters that differ only in
            case match each other.


            In any case, it's not about the filenames.



            It ignores case in the file (contents) but also in the pattern.



            Test file:



            ___________
            Hello World
            ^^^^^^^^^^^


            Grep results (ignore case of file contents):



            $ grep hello test.txt 

            $ grep Hello test.txt
            Hello World
            $ grep -i HELLO test.txt
            Hello World
            $ grep -i hello test.txt
            Hello World


            Grep results (ignore case of pattern):



            $ grep [a-Z] test.txt 
            grep: Invalid range end
            $ grep -i [a-Z] test.txt
            Hello World
            $ grep -i [A-z] test.txt
            Hello World
            $ grep [A-z] test.txt
            ___________
            Hello World
            ^^^^^^^^^^^


            As you can see the results can sometimes be a little unexpected.



            Not sure if there is an example where this actually matters more.






            share|improve this answer













            Apparently I have a different manpage.



               -i, --ignore-case
            Ignore case distinctions, so that characters that differ only in
            case match each other.


            In any case, it's not about the filenames.



            It ignores case in the file (contents) but also in the pattern.



            Test file:



            ___________
            Hello World
            ^^^^^^^^^^^


            Grep results (ignore case of file contents):



            $ grep hello test.txt 

            $ grep Hello test.txt
            Hello World
            $ grep -i HELLO test.txt
            Hello World
            $ grep -i hello test.txt
            Hello World


            Grep results (ignore case of pattern):



            $ grep [a-Z] test.txt 
            grep: Invalid range end
            $ grep -i [a-Z] test.txt
            Hello World
            $ grep -i [A-z] test.txt
            Hello World
            $ grep [A-z] test.txt
            ___________
            Hello World
            ^^^^^^^^^^^


            As you can see the results can sometimes be a little unexpected.



            Not sure if there is an example where this actually matters more.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 1 hour ago









            frostschutzfrostschutz

            27.7k15790




            27.7k15790








            • 1





              "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

              – grep
              1 hour ago








            • 1





              In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

              – Wumpus Q. Wumbley
              57 mins ago














            • 1





              "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

              – grep
              1 hour ago








            • 1





              In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

              – Wumpus Q. Wumbley
              57 mins ago








            1




            1





            "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

            – grep
            1 hour ago







            "It ignores case in the file (contents) but also in the pattern", this suggests (although it doesn't necessarily say it), that it is possible to ignore case in the pattern, but not in the contents. I'd like to understand how this would work (ignoring pattern, but not contents -- or the other way around).

            – grep
            1 hour ago






            1




            1





            In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

            – Wumpus Q. Wumbley
            57 mins ago





            In less, for example, there's a -i mode in which matching is case-insensitive if you only use lowercase letters in the pattern, but if there are any uppercase letters in the pattern, the whole thing is case-sensitive. That's like (sometimes) ignoring case in the contents but not the pattern.

            – Wumpus Q. Wumbley
            57 mins ago










            grep is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            grep is a new contributor. Be nice, and check out our Code of Conduct.













            grep is a new contributor. Be nice, and check out our Code of Conduct.












            grep is a new contributor. Be nice, and check out our Code of Conduct.
















            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f513108%2fis-grep-documentation-wrong%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

            Always On Availability groups resolving state after failover - Remote harden of transaction...

            Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...