Is grep documentation wrong?





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







2















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


















2















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














2












2








2








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

162




162




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
    58 mins ago











  • sorry for the mixup

    – mosvy
    39 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
      1 hour 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
      58 mins ago











    • sorry for the mixup

      – mosvy
      39 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
      58 mins ago











    • sorry for the mixup

      – mosvy
      39 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 39 mins ago

























    answered 1 hour 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
      58 mins ago











    • sorry for the mixup

      – mosvy
      39 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
      58 mins ago











    • sorry for the mixup

      – mosvy
      39 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
    58 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
    58 mins ago













    sorry for the mixup

    – mosvy
    39 mins ago





    sorry for the mixup

    – mosvy
    39 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 58 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
              1 hour 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
              1 hour 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
              1 hour 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
              1 hour 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
            1 hour 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
            1 hour 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

            He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

            Bunad

            Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum