What difference does it make using sed with/without whitespaces? The Next CEO of Stack OverflowSubstituting the first occurrence of a pattern in a line, for all the lines in a file with sedWorking with columns - awk and sedHow to delete empty comments with sed?Using sed to remove string from list of files failsWhat is the point of using multiple exclamation marks in sed?Change a string with sedUsing sed to pad-right a number in a CSVWhy does 'sed q' work differently when reading from a pipe?sed: how to disable autoprinting via script file instead of using the -n switch?Why might sed not make any change to a file?

Traduction de « Life is a roller coaster »

Pulling the principal components out of a DimensionReducerFunction?

How to properly draw diagonal line while using multicolumn inside tabular environment?

Is there such a thing as a proper verb, like a proper noun?

Does Germany produce more waste than the US?

What CSS properties can the br tag have?

Audio Conversion With ADS1243

Calculate the Mean mean of two numbers

How did Beeri the Hittite come up with naming his daughter Yehudit?

Inexact numbers as keys in Association?

How to get the last not-null value in an ordered column of a huge table?

Purpose of level-shifter with same in and out voltages

Regression vs Random Forest - Combination of features

Is "three point ish" an acceptable use of ish?

Expressing the idea of having a very busy time

Can I calculate next year's exemptions based on this year's refund/amount owed?

Does destroying a Lich's phylactery destroy the soul within it?

In the "Harry Potter and the Order of the Phoenix" videogame, what potion is used to sabotage Umbridge's Speakers?

How do I fit a non linear curve?

Do I need to write [sic] when including a quotation with a number less than 10 that isn't written out?

Aggressive Under-Indexing and no data for missing index

How many extra stops do monopods offer for tele photographs?

Sulfuric acid symmetry point group

Why is information "lost" when it got into a black hole?



What difference does it make using sed with/without whitespaces?



The Next CEO of Stack OverflowSubstituting the first occurrence of a pattern in a line, for all the lines in a file with sedWorking with columns - awk and sedHow to delete empty comments with sed?Using sed to remove string from list of files failsWhat is the point of using multiple exclamation marks in sed?Change a string with sedUsing sed to pad-right a number in a CSVWhy does 'sed q' work differently when reading from a pipe?sed: how to disable autoprinting via script file instead of using the -n switch?Why might sed not make any change to a file?










3















I am learning shell-scripting and for that I am using HackerRank. There is a question related to sed on the same site: 'Sed' command #1. First of all I tried,



sed 's/the/this/'


but in that sample test case failed. Then I tried



sed 's/the /this /'


and it worked. So, the question arises what difference did the whitespaces created? Am I missing something here?










share|improve this question









New contributor




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
























    3















    I am learning shell-scripting and for that I am using HackerRank. There is a question related to sed on the same site: 'Sed' command #1. First of all I tried,



    sed 's/the/this/'


    but in that sample test case failed. Then I tried



    sed 's/the /this /'


    and it worked. So, the question arises what difference did the whitespaces created? Am I missing something here?










    share|improve this question









    New contributor




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






















      3












      3








      3


      1






      I am learning shell-scripting and for that I am using HackerRank. There is a question related to sed on the same site: 'Sed' command #1. First of all I tried,



      sed 's/the/this/'


      but in that sample test case failed. Then I tried



      sed 's/the /this /'


      and it worked. So, the question arises what difference did the whitespaces created? Am I missing something here?










      share|improve this question









      New contributor




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












      I am learning shell-scripting and for that I am using HackerRank. There is a question related to sed on the same site: 'Sed' command #1. First of all I tried,



      sed 's/the/this/'


      but in that sample test case failed. Then I tried



      sed 's/the /this /'


      and it worked. So, the question arises what difference did the whitespaces created? Am I missing something here?







      sed whitespace






      share|improve this question









      New contributor




      JHA 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




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









      Jeff Schaller

      44.4k1162143




      44.4k1162143






      New contributor




      JHA 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









      JHAJHA

      223




      223




      New contributor




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





      New contributor





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






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




















          3 Answers
          3






          active

          oldest

          votes


















          2














          The difference is whether there is a space after the in the input text.

          For instance:



          With a sentence without a space, no replacement:



          $ echo 'theman' | sed 's/the /this /'
          theman


          With a sentence with a space, works as expected:



          $ echo 'the man' | sed 's/the /this /'
          this man


          With a sentence with another whitespace character,
          no replacement will occur:



          $ echo -e 'thetman' | sed 's/the /this /'
          the man





          share|improve this answer










          New contributor




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




















          • I missed that. I had to take "the" as a string. Not a substring.

            – JHA
            1 hour ago


















          4














          It's a cheap and error-prone way of doing word matching.



          Note that the with a space after it does not match the word thereby so matching with a space after the the avoids matching the string at the start of words. However, it still does match bathe (if followed by a space), and it does not match the at the end of a line.



          To match the word the properly (or any other word), you should not use spaces around the word, as that would prevent you from matching it at the start or end of lines or if it's flanked by any other non-word character, such as any punctuation or tab character, for example.



          Instead, use a zero-width word boundary pattern:



          sed 's/<the>/this/g'


          The < and > matches the boundaries before and after the word, i.e. the space between a word character and a non-word character. A word character is generally any character matching [[:alnum:]_] (or [A-Za-z0-9_] in the POSIX locale).



          With GNU sed, you could also use b in place of < and >:



          sed 's/btheb/this/g'





          share|improve this answer
































            3














            sed works with regular expressions.
            Using sed 's/the /this /' you just make the space after the part of the matched pattern.



            Using sed 's/the/this/' you replace all occurrences of the with this no matter if a space exists after the.



            In the HackerRank exercise, the result is the same because to replace the with this is logical... you replace just a pro-noun which by default is followed by space (grammar rules).



            You can see the difference if you try for example to capitalize the in the word the theater:



            echo 'the theater' |sed 's/the /THE /g'
            THE theater
            #theater is ignored since the is not followed by space

            echo 'the theater' |sed 's/the/THE/g'
            THE THEater
            #both the are capitalized.





            share|improve this answer

























            • Thank you for the answer. Appreciated :)

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



            );






            JHA 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%2f509765%2fwhat-difference-does-it-make-using-sed-with-without-whitespaces%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














            The difference is whether there is a space after the in the input text.

            For instance:



            With a sentence without a space, no replacement:



            $ echo 'theman' | sed 's/the /this /'
            theman


            With a sentence with a space, works as expected:



            $ echo 'the man' | sed 's/the /this /'
            this man


            With a sentence with another whitespace character,
            no replacement will occur:



            $ echo -e 'thetman' | sed 's/the /this /'
            the man





            share|improve this answer










            New contributor




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




















            • I missed that. I had to take "the" as a string. Not a substring.

              – JHA
              1 hour ago















            2














            The difference is whether there is a space after the in the input text.

            For instance:



            With a sentence without a space, no replacement:



            $ echo 'theman' | sed 's/the /this /'
            theman


            With a sentence with a space, works as expected:



            $ echo 'the man' | sed 's/the /this /'
            this man


            With a sentence with another whitespace character,
            no replacement will occur:



            $ echo -e 'thetman' | sed 's/the /this /'
            the man





            share|improve this answer










            New contributor




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




















            • I missed that. I had to take "the" as a string. Not a substring.

              – JHA
              1 hour ago













            2












            2








            2







            The difference is whether there is a space after the in the input text.

            For instance:



            With a sentence without a space, no replacement:



            $ echo 'theman' | sed 's/the /this /'
            theman


            With a sentence with a space, works as expected:



            $ echo 'the man' | sed 's/the /this /'
            this man


            With a sentence with another whitespace character,
            no replacement will occur:



            $ echo -e 'thetman' | sed 's/the /this /'
            the man





            share|improve this answer










            New contributor




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










            The difference is whether there is a space after the in the input text.

            For instance:



            With a sentence without a space, no replacement:



            $ echo 'theman' | sed 's/the /this /'
            theman


            With a sentence with a space, works as expected:



            $ echo 'the man' | sed 's/the /this /'
            this man


            With a sentence with another whitespace character,
            no replacement will occur:



            $ echo -e 'thetman' | sed 's/the /this /'
            the man






            share|improve this answer










            New contributor




            BDR 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 answer



            share|improve this answer








            edited 32 mins ago









            G-Man

            13.6k93770




            13.6k93770






            New contributor




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









            answered 1 hour ago









            BDRBDR

            463




            463




            New contributor




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





            New contributor





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






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












            • I missed that. I had to take "the" as a string. Not a substring.

              – JHA
              1 hour ago

















            • I missed that. I had to take "the" as a string. Not a substring.

              – JHA
              1 hour ago
















            I missed that. I had to take "the" as a string. Not a substring.

            – JHA
            1 hour ago





            I missed that. I had to take "the" as a string. Not a substring.

            – JHA
            1 hour ago













            4














            It's a cheap and error-prone way of doing word matching.



            Note that the with a space after it does not match the word thereby so matching with a space after the the avoids matching the string at the start of words. However, it still does match bathe (if followed by a space), and it does not match the at the end of a line.



            To match the word the properly (or any other word), you should not use spaces around the word, as that would prevent you from matching it at the start or end of lines or if it's flanked by any other non-word character, such as any punctuation or tab character, for example.



            Instead, use a zero-width word boundary pattern:



            sed 's/<the>/this/g'


            The < and > matches the boundaries before and after the word, i.e. the space between a word character and a non-word character. A word character is generally any character matching [[:alnum:]_] (or [A-Za-z0-9_] in the POSIX locale).



            With GNU sed, you could also use b in place of < and >:



            sed 's/btheb/this/g'





            share|improve this answer





























              4














              It's a cheap and error-prone way of doing word matching.



              Note that the with a space after it does not match the word thereby so matching with a space after the the avoids matching the string at the start of words. However, it still does match bathe (if followed by a space), and it does not match the at the end of a line.



              To match the word the properly (or any other word), you should not use spaces around the word, as that would prevent you from matching it at the start or end of lines or if it's flanked by any other non-word character, such as any punctuation or tab character, for example.



              Instead, use a zero-width word boundary pattern:



              sed 's/<the>/this/g'


              The < and > matches the boundaries before and after the word, i.e. the space between a word character and a non-word character. A word character is generally any character matching [[:alnum:]_] (or [A-Za-z0-9_] in the POSIX locale).



              With GNU sed, you could also use b in place of < and >:



              sed 's/btheb/this/g'





              share|improve this answer



























                4












                4








                4







                It's a cheap and error-prone way of doing word matching.



                Note that the with a space after it does not match the word thereby so matching with a space after the the avoids matching the string at the start of words. However, it still does match bathe (if followed by a space), and it does not match the at the end of a line.



                To match the word the properly (or any other word), you should not use spaces around the word, as that would prevent you from matching it at the start or end of lines or if it's flanked by any other non-word character, such as any punctuation or tab character, for example.



                Instead, use a zero-width word boundary pattern:



                sed 's/<the>/this/g'


                The < and > matches the boundaries before and after the word, i.e. the space between a word character and a non-word character. A word character is generally any character matching [[:alnum:]_] (or [A-Za-z0-9_] in the POSIX locale).



                With GNU sed, you could also use b in place of < and >:



                sed 's/btheb/this/g'





                share|improve this answer















                It's a cheap and error-prone way of doing word matching.



                Note that the with a space after it does not match the word thereby so matching with a space after the the avoids matching the string at the start of words. However, it still does match bathe (if followed by a space), and it does not match the at the end of a line.



                To match the word the properly (or any other word), you should not use spaces around the word, as that would prevent you from matching it at the start or end of lines or if it's flanked by any other non-word character, such as any punctuation or tab character, for example.



                Instead, use a zero-width word boundary pattern:



                sed 's/<the>/this/g'


                The < and > matches the boundaries before and after the word, i.e. the space between a word character and a non-word character. A word character is generally any character matching [[:alnum:]_] (or [A-Za-z0-9_] in the POSIX locale).



                With GNU sed, you could also use b in place of < and >:



                sed 's/btheb/this/g'






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 19 mins ago

























                answered 1 hour ago









                KusalanandaKusalananda

                139k17259429




                139k17259429





















                    3














                    sed works with regular expressions.
                    Using sed 's/the /this /' you just make the space after the part of the matched pattern.



                    Using sed 's/the/this/' you replace all occurrences of the with this no matter if a space exists after the.



                    In the HackerRank exercise, the result is the same because to replace the with this is logical... you replace just a pro-noun which by default is followed by space (grammar rules).



                    You can see the difference if you try for example to capitalize the in the word the theater:



                    echo 'the theater' |sed 's/the /THE /g'
                    THE theater
                    #theater is ignored since the is not followed by space

                    echo 'the theater' |sed 's/the/THE/g'
                    THE THEater
                    #both the are capitalized.





                    share|improve this answer

























                    • Thank you for the answer. Appreciated :)

                      – JHA
                      1 hour ago















                    3














                    sed works with regular expressions.
                    Using sed 's/the /this /' you just make the space after the part of the matched pattern.



                    Using sed 's/the/this/' you replace all occurrences of the with this no matter if a space exists after the.



                    In the HackerRank exercise, the result is the same because to replace the with this is logical... you replace just a pro-noun which by default is followed by space (grammar rules).



                    You can see the difference if you try for example to capitalize the in the word the theater:



                    echo 'the theater' |sed 's/the /THE /g'
                    THE theater
                    #theater is ignored since the is not followed by space

                    echo 'the theater' |sed 's/the/THE/g'
                    THE THEater
                    #both the are capitalized.





                    share|improve this answer

























                    • Thank you for the answer. Appreciated :)

                      – JHA
                      1 hour ago













                    3












                    3








                    3







                    sed works with regular expressions.
                    Using sed 's/the /this /' you just make the space after the part of the matched pattern.



                    Using sed 's/the/this/' you replace all occurrences of the with this no matter if a space exists after the.



                    In the HackerRank exercise, the result is the same because to replace the with this is logical... you replace just a pro-noun which by default is followed by space (grammar rules).



                    You can see the difference if you try for example to capitalize the in the word the theater:



                    echo 'the theater' |sed 's/the /THE /g'
                    THE theater
                    #theater is ignored since the is not followed by space

                    echo 'the theater' |sed 's/the/THE/g'
                    THE THEater
                    #both the are capitalized.





                    share|improve this answer















                    sed works with regular expressions.
                    Using sed 's/the /this /' you just make the space after the part of the matched pattern.



                    Using sed 's/the/this/' you replace all occurrences of the with this no matter if a space exists after the.



                    In the HackerRank exercise, the result is the same because to replace the with this is logical... you replace just a pro-noun which by default is followed by space (grammar rules).



                    You can see the difference if you try for example to capitalize the in the word the theater:



                    echo 'the theater' |sed 's/the /THE /g'
                    THE theater
                    #theater is ignored since the is not followed by space

                    echo 'the theater' |sed 's/the/THE/g'
                    THE THEater
                    #both the are capitalized.






                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 1 hour ago









                    JHA

                    223




                    223










                    answered 1 hour ago









                    George VasiliouGeorge Vasiliou

                    5,76531030




                    5,76531030












                    • Thank you for the answer. Appreciated :)

                      – JHA
                      1 hour ago

















                    • Thank you for the answer. Appreciated :)

                      – JHA
                      1 hour ago
















                    Thank you for the answer. Appreciated :)

                    – JHA
                    1 hour ago





                    Thank you for the answer. Appreciated :)

                    – JHA
                    1 hour ago










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









                    draft saved

                    draft discarded


















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












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











                    JHA 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%2f509765%2fwhat-difference-does-it-make-using-sed-with-without-whitespaces%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

                    Bett Inhaltsverzeichnis Geschichte | Bettformen | Bettgrößen | Andere Bezeichnungen | Bettenmangel | Betten in der bildenden Kunst | Schlafmedizinische Gesichtspunkte | Siehe auch | Literatur | Weblinks | Einzelnachweise | NavigationsmenüBett, Bettstatt, BettstelleCommons: BettBabybetten: Anwendung, Ausstattungsmerkmale und VergleichskriterienWasserbetten. Vorurteile im TestHapfnNursch10.1007/s11818-012-0584-74006250-8AKS4329276-8

                    Luksemburg Sisukord Nimi | Asend | Loodus | Riigikord | Haldusjaotus | Rahvastik | Riigikaitse | Majandus | Taristu | Ajalugu | Eesti ja Luksemburgi suhted | Haridus | Kultuur | Vaata ka | Viited | Välislingid | Navigeerimismenüü50° N, 6° EÜlevaade Luksemburgi kaitsealadest.Luksemburgi rahvaarv. Statistikaamet.World Bank'i andmebaasÜlevaade Luksemburgi loodusest.Ülevaade Luksemburgi metsadest.Guy Colling. "Red List of the Vascular Plants of Luxembourg." Travaux scientifiques du Musée national d’histoire naturelle Luxembourg. 2005.Luxembourg’s biodiversity at risk.Maailma kahepaiksete andmebaas.Denis Lepage. "Luxembourg." Avibase.Ülevaade temperatuuridest. Luksemburgi meteoroloogiateenistus.Ülevaade Luksemburgist. Euroopa Liidu esinduse koduleht.Système politique. TerritoireÜlevaade Luksemburgi rahvastikust. Luksemburgi statistikaamet.Luksemburgi rahvastik. Luksemburgi statistikaamet.The World FactbookMonique Borsenberger, Paul Dickes. "Religions au Luxembourg. Quelle évolution entre 1999-2008". Luksemburgi statistikaamet. 2011.Luksemburgi peapiiskopkond. Catholic-Hierarchy.Luksemburgi armee koduleht.Luksemburgi armee relvastus.Eesti Välisministeerium.Luksemburgi rahvastik. Luksemburgi statistikaamet.Luksemburgi Eesti Seltsi koduleht.Helen Eelrand. "Raadio, mis muutis maailma." Eesti Päevaleht. 13. märts 2004.Ülevaade Luksemburgi haridussüsteemist.Ülevaade Luksemburgi keskkoolidest.Luksemburgr

                    Valle di Casies Indice Geografia fisica | Origini del nome | Storia | Società | Amministrazione | Sport | Note | Bibliografia | Voci correlate | Altri progetti | Collegamenti esterni | Menu di navigazione46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)Sito istituzionaleAstat Censimento della popolazione 2011 - Determinazione della consistenza dei tre gruppi linguistici della Provincia Autonoma di Bolzano-Alto Adige - giugno 2012Numeri e fattiValle di CasiesDato IstatTabella dei gradi/giorno dei Comuni italiani raggruppati per Regione e Provincia26 agosto 1993, n. 412Heraldry of the World: GsiesStatistiche I.StatValCasies.comWikimedia CommonsWikimedia CommonsValle di CasiesSito ufficialeValle di CasiesMM14870458910042978-6