back slash charectar and . in grep 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” questionWhy do some regex commands have opposite intepretations of '' with various characters?grep and escaping a dollar signNumber of backslashes needed for escaping regex backslash on the command-lineRegular Expression for finding double characters in BashInvalid back reference using grepWhat is the meaning of (^| )ABC( |$) as an extended REGEX ?“egrep: empty (sub)expression” when attempting to filter out words from a listRegular expression within single quotes- lose their value?How does storing the regular expression in a shell variable avoid problems with quoting characters that are special to the shell?grep for single back slash

Why is black pepper both grey and black?

What is a Meta algorithm?

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

Stars Make Stars

How to motivate offshore teams and trust them to deliver?

Right-skewed distribution with mean equals to mode?

What are 'alternative tunings' of a guitar and why would you use them? Doesn't it make it more difficult to play?

Letter Boxed validator

Is it true to say that an hosting provider's DNS server is what links the entire hosting environment to ICANN?

Is there a Spanish version of "dot your i's and cross your t's" that includes the letter 'ñ'?

Is there a "higher Segal conjecture"?

Single word antonym of "flightless"

When to stop saving and start investing?

Models of set theory where not every set can be linearly ordered

How can I make names more distinctive without making them longer?

What is the musical term for a note that continously plays through a melody?

Is there a service that would inform me whenever a new direct route is scheduled from a given airport?

"Seemed to had" is it correct?

How to recreate this effect in Photoshop?

Why is "Consequences inflicted." not a sentence?

Can a non-EU citizen traveling with me come with me through the EU passport line?

What makes black pepper strong or mild?

Is the address of a local variable a constexpr?

Is it true that "carbohydrates are of no use for the basal metabolic need"?



back slash charectar and . in grep



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” questionWhy do some regex commands have opposite intepretations of '' with various characters?grep and escaping a dollar signNumber of backslashes needed for escaping regex backslash on the command-lineRegular Expression for finding double characters in BashInvalid back reference using grepWhat is the meaning of (^| )ABC( |$) as an extended REGEX ?“egrep: empty (sub)expression” when attempting to filter out words from a listRegular expression within single quotes- lose their value?How does storing the regular expression in a shell variable avoid problems with quoting characters that are special to the shell?grep for single back slash



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








-2















I am confused about the backslash character and single quotations inside grep. From my understanding it preserves the literal meaning. For example



if I do echo 'This is ., it gives me This is .



However, if I want to match any actual .(period) I need to use '.' to escape the special meaning of . in regular expression.
For example if a have a file demo.txt taken from example from this website



Problem output



My question is how is the ' ' not preserving the literal value in this case for grep? This is proving to be very confusing for me. Any explanations would be very helpful.










share|improve this question









New contributor




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















  • 1





    Please don't post pictures of text.

    – roaima
    11 hours ago

















-2















I am confused about the backslash character and single quotations inside grep. From my understanding it preserves the literal meaning. For example



if I do echo 'This is ., it gives me This is .



However, if I want to match any actual .(period) I need to use '.' to escape the special meaning of . in regular expression.
For example if a have a file demo.txt taken from example from this website



Problem output



My question is how is the ' ' not preserving the literal value in this case for grep? This is proving to be very confusing for me. Any explanations would be very helpful.










share|improve this question









New contributor




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















  • 1





    Please don't post pictures of text.

    – roaima
    11 hours ago













-2












-2








-2


1






I am confused about the backslash character and single quotations inside grep. From my understanding it preserves the literal meaning. For example



if I do echo 'This is ., it gives me This is .



However, if I want to match any actual .(period) I need to use '.' to escape the special meaning of . in regular expression.
For example if a have a file demo.txt taken from example from this website



Problem output



My question is how is the ' ' not preserving the literal value in this case for grep? This is proving to be very confusing for me. Any explanations would be very helpful.










share|improve this question









New contributor




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












I am confused about the backslash character and single quotations inside grep. From my understanding it preserves the literal meaning. For example



if I do echo 'This is ., it gives me This is .



However, if I want to match any actual .(period) I need to use '.' to escape the special meaning of . in regular expression.
For example if a have a file demo.txt taken from example from this website



Problem output



My question is how is the ' ' not preserving the literal value in this case for grep? This is proving to be very confusing for me. Any explanations would be very helpful.







grep regular-expression






share|improve this question









New contributor




Shadman Mahmood 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




Shadman Mahmood 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








edited 11 hours ago









Prvt_Yadv

3,30631530




3,30631530






New contributor




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









asked 11 hours ago









Shadman MahmoodShadman Mahmood

1




1




New contributor




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





New contributor





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






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







  • 1





    Please don't post pictures of text.

    – roaima
    11 hours ago












  • 1





    Please don't post pictures of text.

    – roaima
    11 hours ago







1




1





Please don't post pictures of text.

– roaima
11 hours ago





Please don't post pictures of text.

– roaima
11 hours ago










1 Answer
1






active

oldest

votes


















1














Single quotes protect characters from interpretation by the shell, but grep still treats the argument as a regular expression.



You can turn this behavior off by running grep with the -F or --fixed-strings option:



grep -F 'purchase.' demo.txt


The single quotes are not necessary as none of those p, u, r, c, h, a, s, e or . characters are special to the shell:



grep -F purchase. demo.txt


Or you could use grep without -F but escape the . regular expression operator with :



grep 'purchase.' demo.txt


The single quotes are so that (which is also special for the shell; a quoting operator there) is passed literally to grep. Or you can use the shell quoting operator to quote itself:



grep purchase\. demo.txt


You can also use the [set] regex operator to match on a literal .:



grep 'purchase[.]' demo.txt


Again, [set] is also a shell operator (a globbing operator there) so needs to be quoted as well (here with single quotes again).






share|improve this answer

























    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
    );



    );






    Shadman Mahmood 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%2f512605%2fback-slash-charectar-and-in-grep%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Single quotes protect characters from interpretation by the shell, but grep still treats the argument as a regular expression.



    You can turn this behavior off by running grep with the -F or --fixed-strings option:



    grep -F 'purchase.' demo.txt


    The single quotes are not necessary as none of those p, u, r, c, h, a, s, e or . characters are special to the shell:



    grep -F purchase. demo.txt


    Or you could use grep without -F but escape the . regular expression operator with :



    grep 'purchase.' demo.txt


    The single quotes are so that (which is also special for the shell; a quoting operator there) is passed literally to grep. Or you can use the shell quoting operator to quote itself:



    grep purchase\. demo.txt


    You can also use the [set] regex operator to match on a literal .:



    grep 'purchase[.]' demo.txt


    Again, [set] is also a shell operator (a globbing operator there) so needs to be quoted as well (here with single quotes again).






    share|improve this answer





























      1














      Single quotes protect characters from interpretation by the shell, but grep still treats the argument as a regular expression.



      You can turn this behavior off by running grep with the -F or --fixed-strings option:



      grep -F 'purchase.' demo.txt


      The single quotes are not necessary as none of those p, u, r, c, h, a, s, e or . characters are special to the shell:



      grep -F purchase. demo.txt


      Or you could use grep without -F but escape the . regular expression operator with :



      grep 'purchase.' demo.txt


      The single quotes are so that (which is also special for the shell; a quoting operator there) is passed literally to grep. Or you can use the shell quoting operator to quote itself:



      grep purchase\. demo.txt


      You can also use the [set] regex operator to match on a literal .:



      grep 'purchase[.]' demo.txt


      Again, [set] is also a shell operator (a globbing operator there) so needs to be quoted as well (here with single quotes again).






      share|improve this answer



























        1












        1








        1







        Single quotes protect characters from interpretation by the shell, but grep still treats the argument as a regular expression.



        You can turn this behavior off by running grep with the -F or --fixed-strings option:



        grep -F 'purchase.' demo.txt


        The single quotes are not necessary as none of those p, u, r, c, h, a, s, e or . characters are special to the shell:



        grep -F purchase. demo.txt


        Or you could use grep without -F but escape the . regular expression operator with :



        grep 'purchase.' demo.txt


        The single quotes are so that (which is also special for the shell; a quoting operator there) is passed literally to grep. Or you can use the shell quoting operator to quote itself:



        grep purchase\. demo.txt


        You can also use the [set] regex operator to match on a literal .:



        grep 'purchase[.]' demo.txt


        Again, [set] is also a shell operator (a globbing operator there) so needs to be quoted as well (here with single quotes again).






        share|improve this answer















        Single quotes protect characters from interpretation by the shell, but grep still treats the argument as a regular expression.



        You can turn this behavior off by running grep with the -F or --fixed-strings option:



        grep -F 'purchase.' demo.txt


        The single quotes are not necessary as none of those p, u, r, c, h, a, s, e or . characters are special to the shell:



        grep -F purchase. demo.txt


        Or you could use grep without -F but escape the . regular expression operator with :



        grep 'purchase.' demo.txt


        The single quotes are so that (which is also special for the shell; a quoting operator there) is passed literally to grep. Or you can use the shell quoting operator to quote itself:



        grep purchase\. demo.txt


        You can also use the [set] regex operator to match on a literal .:



        grep 'purchase[.]' demo.txt


        Again, [set] is also a shell operator (a globbing operator there) so needs to be quoted as well (here with single quotes again).







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 10 hours ago









        Stéphane Chazelas

        314k57596954




        314k57596954










        answered 11 hours ago









        steeldriversteeldriver

        37.8k45489




        37.8k45489




















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









            draft saved

            draft discarded


















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












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











            Shadman Mahmood 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%2f512605%2fback-slash-charectar-and-in-grep%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







            -grep, regular-expression

            Popular posts from this blog

            Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

            fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox

            Shilpa Shastras Contents Description In painting In carpentry In metallurgy Shilpa Shastra education in ancient India Treatises on Shilpa Shastras See also References Further reading External links Navigation menueOverviewTraditions of the Indian Craftsman251930242ŚilpinŚilpiniTraditions of the Indian CraftsmanThe Technique of Wall Painting in Ancient IndiaEssay on the Architecture of the HindusThe Journal of the Society of Arts10.1007/s11837-998-0378-3The role of India in the diffusion of early culturesTraditions of the Indian CraftsmanAn Encyclopedia of Hindu ArchitectureBibliography of Vastu Shastra Literature, 1834-2009The Technique of Wall Painting in Ancient India4483067Les lapidaires indiens