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?

Can an alien society believe that their star system is the universe?

Can melee weapons be used to deliver Contact Poisons?

Is there such thing as an Availability Group failover trigger?

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

Why do we bend a book to keep it straight?

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

また usage in a dictionary

For a new assistant professor in CS, how to build/manage a publication pipeline

Using audio cues to encourage good posture

Most bit efficient text communication method?

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

How to compare two different files line by line in unix?

8 Prisoners wearing hats

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

Around usage results

Why are both D and D# fitting into my E minor key?

What does "lightly crushed" mean for cardamon pods?

If a VARCHAR(MAX) column is included in an index, is the entire value always stored in the index page(s)?

How would a mousetrap for use in space work?

Why didn't Eitri join the fight?

If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?

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

Significance of Cersei's obsession with elephants?

Is safe to use va_start macro with this as parameter?



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
    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 40 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 59 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

            Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

            Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

            Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її