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?

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

8 Prisoners wearing hats

Fundamental Solution of the Pell Equation

Integration Help

How do I find out the mythology and history of my Fortress?

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

Maximum summed powersets with non-adjacent items

representation of vector and matrix in latex

Why are the trig functions versine, haversine, exsecant, etc, rarely used in modern mathematics?

How to Make a Beautiful Stacked 3D Plot

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

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

How would a mousetrap for use in space work?

Amount of permutations on an NxNxN Rubik's Cube

Wu formula for manifolds with boundary

Crossing US/Canada Border for less than 24 hours

Trademark violation for app?

Should I use a zero-interest credit card for a large one-time purchase?

What is the longest distance a player character can jump in one leap?

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

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

Circuit to "zoom in" on mV fluctuations of a DC signal?

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

Irreducible of finite Krull dimension implies quasi-compact?



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
    2 hours 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
    2 hours 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
    2 hours ago











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

    – mosvy
    2 hours 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
    2 hours 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
    2 hours 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
    2 hours 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
    2 hours ago











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

    – mosvy
    2 hours 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
    2 hours 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 2 hours 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
    2 hours 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
    2 hours 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
    2 hours ago











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

    – mosvy
    2 hours 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
    2 hours 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
    2 hours 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
    2 hours 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
    2 hours ago











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

    – mosvy
    2 hours 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
    2 hours 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
2 hours 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
2 hours 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
2 hours 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
2 hours 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
2 hours 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
2 hours ago













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

– mosvy
2 hours ago





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

– mosvy
2 hours 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
2 hours 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
2 hours 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
    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).




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





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





    sorry for the mixup

    – mosvy
    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).




    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 2 hours 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

            Reverse int within the 32-bit signed integer range: [−2^31, 2^31 − 1]Combining two 32-bit integers into one 64-bit integerDetermine if an int is within rangeLossy packing 32 bit integer to 16 bitComputing the square root of a 64-bit integerKeeping integer addition within boundsSafe multiplication of two 64-bit signed integersLeetcode 10: Regular Expression MatchingSigned integer-to-ascii x86_64 assembler macroReverse the digits of an Integer“Add two numbers given in reverse order from a linked list”

            Category:Fedor von Bock Media in category "Fedor von Bock"Navigation menuUpload mediaISNI: 0000 0000 5511 3417VIAF ID: 24712551GND ID: 119294796Library of Congress authority ID: n96068363BnF ID: 12534305fSUDOC authorities ID: 034604189Open Library ID: OL338253ANKCR AUT ID: jn19990000869National Library of Israel ID: 000514068National Thesaurus for Author Names ID: 341574317ReasonatorScholiaStatistics

            Kiel Indholdsfortegnelse Historie | Transport og færgeforbindelser | Sejlsport og anden sport | Kultur | Kendte personer fra Kiel | Noter | Litteratur | Eksterne henvisninger | Navigationsmenuwww.kiel.de54°19′31″N 10°8′26″Ø / 54.32528°N 10.14056°Ø / 54.32528; 10.14056Oberbürgermeister Dr. Ulf Kämpferwww.statistik-nord.deDen danske Stats StatistikKiels hjemmesiderrrWorldCat312794080n790547494030481-4