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?

How would a mousetrap for use in space work?

When the Haste spell ends on a creature, do attackers have advantage against that creature?

Significance of Cersei's obsession with elephants?

How to find all the available tools in mac terminal?

Using et al. for a last / senior author rather than for a first author

Trademark violation for app?

Why didn't Eitri join the fight?

Where are Serre’s lectures at Collège de France to be found?

Why do we bend a book to keep it straight?

Is the Standard Deduction better than Itemized when both are the same amount?

How does the math work when buying airline miles?

8 Prisoners wearing hats

What would be the ideal power source for a cybernetic eye?

Amount of permutations on an NxNxN Rubik's Cube

Compare a given version number in the form major.minor.build.patch and see if one is less than the other

Is it a good idea to use CNN to classify 1D signal?

Does classifying an integer as a discrete log require it be part of a multiplicative group?

How could we fake a moon landing now?

What does "lightly crushed" mean for cardamon pods?

Can anything be seen from the center of the Boötes void? How dark would it be?

What's the meaning of "fortified infraction restraint"?

Would "destroying" Wurmcoil Engine prevent its tokens from being created?

Why do the resolve message appear first?

What does the "x" in "x86" represent?



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;








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
    1 hour ago











  • sorry for the mixup

    – mosvy
    56 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
      1 hour ago











    • sorry for the mixup

      – mosvy
      56 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
      1 hour ago











    • sorry for the mixup

      – mosvy
      56 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 56 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
      1 hour ago











    • sorry for the mixup

      – mosvy
      56 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
      1 hour ago











    • sorry for the mixup

      – mosvy
      56 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
    1 hour 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
    1 hour ago













    sorry for the mixup

    – mosvy
    56 mins ago





    sorry for the mixup

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

            Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

            Magento 2 disable Secret Key on URL's from terminal The Next CEO of Stack OverflowMagento 2 Shortcut/GUI tool to perform commandline tasks for windowsIn menu add configuration linkMagento oAuth : Generating access token and access secretMagento 2 security key issue in Third-Party API redirect URIPublic actions in admin controllersHow to Disable Cache in Custom WidgetURL Key not changing in Magento 2Product URL Key gets deleted when importing custom options - Magento 2Problem with reindex terminalMagento 2 - bin/magento Commands not working in Cpanel Terminal

            Aasi (pallopeli) Navigointivalikko