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?

(How) Could a medieval fantasy world survive a magic-induced "nuclear winter"?

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

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?

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

Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico

What can the phrase “is embedded in a whale of a bill” mean?

AB diagonalizable then BA also diagonalizable

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

Help/tips for a first time writer?

Is there a reasonable and studied concept of reduction between regular languages?

Where do students learn to solve polynomial equations these days?

What flight has the highest ratio of timezone difference to flight time?

What was Carter Burkes job for "the company" in "Aliens"?

Can Sneak Attack be used when hitting with an improvised weapon?

How many extra stops do monopods offer for tele photographs?

Why the last AS PATH item always is `I` or `?`?

Define command that accepts \ in arguments

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

Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?

Why doesn't UK go for the same deal Japan has with EU to resolve Brexit?

Is dried pee considered dirt?

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

Towers in the ocean; How deep can they be built?



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?










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.
























    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.






















      1












      1








      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 27 mins 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 53 mins ago









      JHAJHA

      123




      123




      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


















          1














          The difference is only the backspace.

          For instance:



          With a sentence without a backspace, no replacement :



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


          With a sentence with a backspace, works as expected :



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


          With a sentence with another blank character, no replacement will be there:



          $ 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
            33 mins ago


















          2














          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, 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

























          • Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

            – JHA
            25 mins ago



















          1














          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
            24 mins 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









          1














          The difference is only the backspace.

          For instance:



          With a sentence without a backspace, no replacement :



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


          With a sentence with a backspace, works as expected :



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


          With a sentence with another blank character, no replacement will be there:



          $ 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
            33 mins ago















          1














          The difference is only the backspace.

          For instance:



          With a sentence without a backspace, no replacement :



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


          With a sentence with a backspace, works as expected :



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


          With a sentence with another blank character, no replacement will be there:



          $ 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
            33 mins ago













          1












          1








          1







          The difference is only the backspace.

          For instance:



          With a sentence without a backspace, no replacement :



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


          With a sentence with a backspace, works as expected :



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


          With a sentence with another blank character, no replacement will be there:



          $ 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 only the backspace.

          For instance:



          With a sentence without a backspace, no replacement :



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


          With a sentence with a backspace, works as expected :



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


          With a sentence with another blank character, no replacement will be there:



          $ 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 51 secs ago









          JHA

          123




          123






          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 42 mins ago









          BDRBDR

          363




          363




          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
            33 mins ago

















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

            – JHA
            33 mins ago
















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

          – JHA
          33 mins ago





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

          – JHA
          33 mins ago













          2














          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, 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

























          • Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

            – JHA
            25 mins ago
















          2














          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, 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

























          • Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

            – JHA
            25 mins ago














          2












          2








          2







          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, 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, 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 12 mins ago

























          answered 33 mins ago









          KusalanandaKusalananda

          139k17259429




          139k17259429












          • Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

            – JHA
            25 mins ago


















          • Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

            – JHA
            25 mins ago

















          Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

          – JHA
          25 mins ago






          Thank you for the answer. And congratulations for the new post: a moderator. I personally voted for you and Jeff as my 1st and 2nd choice respectively from my main account. I wasn't sure how this question would be accepted by the community so came up with an Unregistered account. I've accepted BDR's answer since his answer was appreciable and he is a new user and might want some rep points. You'll have my upvote from main account.

          – JHA
          25 mins ago












          1














          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
            24 mins ago















          1














          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
            24 mins ago













          1












          1








          1







          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 29 mins ago









          JHA

          123




          123










          answered 32 mins ago









          George VasiliouGeorge Vasiliou

          5,74531030




          5,74531030












          • Thank you for the answer. Appreciated :)

            – JHA
            24 mins ago

















          • Thank you for the answer. Appreciated :)

            – JHA
            24 mins ago
















          Thank you for the answer. Appreciated :)

          – JHA
          24 mins ago





          Thank you for the answer. Appreciated :)

          – JHA
          24 mins 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

          Era Viking Índice Início da Era Viquingue | Cotidiano | Sociedade | Língua | Religião | A arte | As primeiras cidades | As viagens dos viquingues | Viquingues do Oeste e Leste | Fim da Era Viquingue | Fontes históricas | Referências Bibliografia | Ligações externas | Menu de navegação«Sverige då!»«Handel I vikingetid»«O que é Nórdico Antigo»Mito, magia e religião na volsunga saga Um olhar sobre a trajetória mítica do herói sigurd«Bonden var den verklige vikingen»«Vikingatiden»«Vikingatiden»«Vinland»«Guerreiras de Óðinn: As Valkyrjor na Mitologia Viking»1519-9053«Esculpindo símbolos e seres: A arte viking em pedras rúnicas»1679-9313Historia - Tema: VikingarnaAventura e Magia no Mundo das Sagas IslandesasEra Vikinge

          What's the metal clinking sound at the end of credits in Avengers: Endgame?What makes Thanos so strong in Avengers: Endgame?Who is the character that appears at the end of Endgame?What happens to Mjolnir (Thor's hammer) at the end of Endgame?The People's Ages in Avengers: EndgameWhat did Nebula do in Avengers: Endgame?Messing with time in the Avengers: Endgame climaxAvengers: Endgame timelineWhat are the time-travel rules in Avengers Endgame?Why use this song in Avengers: Endgame Opening Logo Sequence?Peggy's age in Avengers Endgame

          Are there legal definitions of ethnicities/races? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Legal definitions in the United StatesAre there truly legal limits on US interest rates?Are gender identity and sexual orientation federally protected?Why is there an apparent legal bias against digital services?What limits are there to the powers of individual judges in the United States legal system?Are women only scholarships legal under Irish / EU law?Is the term “race” defined by Public Law enacted by Congress of the United StatesIs there a legal definition of race in the US?Neighbors are spying for landlord on Renters is it legal?Are Protected Classes Bi-directional?