Removing text between two specific strings

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












9















I have a file as below:



mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
scr PI Name: RRC Access Failures due to UU, Value: 0.13394141
prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
sch PI Name: RRC Access Failures due to UU, Value: 0.11781933


I want to remove text PI till Value:. I tried



sed '/<PI>/,/</Value:>/d' 


Any help?










share|improve this question




























    9















    I have a file as below:



    mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
    scr PI Name: RRC Access Failures due to UU, Value: 0.13394141
    prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
    sch PI Name: RRC Access Failures due to UU, Value: 0.11781933


    I want to remove text PI till Value:. I tried



    sed '/<PI>/,/</Value:>/d' 


    Any help?










    share|improve this question


























      9












      9








      9


      3






      I have a file as below:



      mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
      scr PI Name: RRC Access Failures due to UU, Value: 0.13394141
      prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
      sch PI Name: RRC Access Failures due to UU, Value: 0.11781933


      I want to remove text PI till Value:. I tried



      sed '/<PI>/,/</Value:>/d' 


      Any help?










      share|improve this question
















      I have a file as below:



      mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
      scr PI Name: RRC Access Failures due to UU, Value: 0.13394141
      prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
      sch PI Name: RRC Access Failures due to UU, Value: 0.11781933


      I want to remove text PI till Value:. I tried



      sed '/<PI>/,/</Value:>/d' 


      Any help?







      text-processing sed






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Oct 11 '13 at 22:43









      Gilles

      534k12810771595




      534k12810771595










      asked Oct 11 '13 at 12:13









      khalil saadkhalil saad

      59112




      59112




















          3 Answers
          3






          active

          oldest

          votes


















          18














          Replace everything from PI to Value: with empty string:



          sed 's/PI.*Value://'





          share|improve this answer




















          • 7





            Will this work if PI and Value: occur on different lines?

            – Brian Fitzpatrick
            Aug 24 '15 at 11:39


















          6














          Using the d command in sed will delete the whole line. Also, I'm not sure why you're using < and >. Perhaps you're confusing them with < and > that grep uses to denote word boundaries? In that case, you should know that sed uses b for both types of word boundaries (beginning and ending). So you can write something like this:



          sed -i 's/bPIb.*bValue:b//' your_file


          For extra robustness, I would use perl for lazy quantification of . so that you only delete the text between the first occurrence of PI and the first occurrence of Value:. Of course it all depends on your use case.



          perl -pi -e 's b PI b .*? b Value: bx' your_file





          share|improve this answer
































            1














            Use this below code to remove multiple lines between patterns (including lines with patterns):



            sed "/PI/,/Value:/d" your_file


            If you want to modify your_file directly:



            sed -i "/PI/,/Value:/d" your_file





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



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f94616%2fremoving-text-between-two-specific-strings%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









              18














              Replace everything from PI to Value: with empty string:



              sed 's/PI.*Value://'





              share|improve this answer




















              • 7





                Will this work if PI and Value: occur on different lines?

                – Brian Fitzpatrick
                Aug 24 '15 at 11:39















              18














              Replace everything from PI to Value: with empty string:



              sed 's/PI.*Value://'





              share|improve this answer




















              • 7





                Will this work if PI and Value: occur on different lines?

                – Brian Fitzpatrick
                Aug 24 '15 at 11:39













              18












              18








              18







              Replace everything from PI to Value: with empty string:



              sed 's/PI.*Value://'





              share|improve this answer















              Replace everything from PI to Value: with empty string:



              sed 's/PI.*Value://'






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Oct 11 '13 at 12:56









              peterph

              23.5k24457




              23.5k24457










              answered Oct 11 '13 at 12:20









              danadamdanadam

              35322




              35322







              • 7





                Will this work if PI and Value: occur on different lines?

                – Brian Fitzpatrick
                Aug 24 '15 at 11:39












              • 7





                Will this work if PI and Value: occur on different lines?

                – Brian Fitzpatrick
                Aug 24 '15 at 11:39







              7




              7





              Will this work if PI and Value: occur on different lines?

              – Brian Fitzpatrick
              Aug 24 '15 at 11:39





              Will this work if PI and Value: occur on different lines?

              – Brian Fitzpatrick
              Aug 24 '15 at 11:39













              6














              Using the d command in sed will delete the whole line. Also, I'm not sure why you're using < and >. Perhaps you're confusing them with < and > that grep uses to denote word boundaries? In that case, you should know that sed uses b for both types of word boundaries (beginning and ending). So you can write something like this:



              sed -i 's/bPIb.*bValue:b//' your_file


              For extra robustness, I would use perl for lazy quantification of . so that you only delete the text between the first occurrence of PI and the first occurrence of Value:. Of course it all depends on your use case.



              perl -pi -e 's b PI b .*? b Value: bx' your_file





              share|improve this answer





























                6














                Using the d command in sed will delete the whole line. Also, I'm not sure why you're using < and >. Perhaps you're confusing them with < and > that grep uses to denote word boundaries? In that case, you should know that sed uses b for both types of word boundaries (beginning and ending). So you can write something like this:



                sed -i 's/bPIb.*bValue:b//' your_file


                For extra robustness, I would use perl for lazy quantification of . so that you only delete the text between the first occurrence of PI and the first occurrence of Value:. Of course it all depends on your use case.



                perl -pi -e 's b PI b .*? b Value: bx' your_file





                share|improve this answer



























                  6












                  6








                  6







                  Using the d command in sed will delete the whole line. Also, I'm not sure why you're using < and >. Perhaps you're confusing them with < and > that grep uses to denote word boundaries? In that case, you should know that sed uses b for both types of word boundaries (beginning and ending). So you can write something like this:



                  sed -i 's/bPIb.*bValue:b//' your_file


                  For extra robustness, I would use perl for lazy quantification of . so that you only delete the text between the first occurrence of PI and the first occurrence of Value:. Of course it all depends on your use case.



                  perl -pi -e 's b PI b .*? b Value: bx' your_file





                  share|improve this answer















                  Using the d command in sed will delete the whole line. Also, I'm not sure why you're using < and >. Perhaps you're confusing them with < and > that grep uses to denote word boundaries? In that case, you should know that sed uses b for both types of word boundaries (beginning and ending). So you can write something like this:



                  sed -i 's/bPIb.*bValue:b//' your_file


                  For extra robustness, I would use perl for lazy quantification of . so that you only delete the text between the first occurrence of PI and the first occurrence of Value:. Of course it all depends on your use case.



                  perl -pi -e 's b PI b .*? b Value: bx' your_file






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 11 '13 at 12:28

























                  answered Oct 11 '13 at 12:21









                  Joseph R.Joseph R.

                  28.2k374114




                  28.2k374114





















                      1














                      Use this below code to remove multiple lines between patterns (including lines with patterns):



                      sed "/PI/,/Value:/d" your_file


                      If you want to modify your_file directly:



                      sed -i "/PI/,/Value:/d" your_file





                      share|improve this answer



























                        1














                        Use this below code to remove multiple lines between patterns (including lines with patterns):



                        sed "/PI/,/Value:/d" your_file


                        If you want to modify your_file directly:



                        sed -i "/PI/,/Value:/d" your_file





                        share|improve this answer

























                          1












                          1








                          1







                          Use this below code to remove multiple lines between patterns (including lines with patterns):



                          sed "/PI/,/Value:/d" your_file


                          If you want to modify your_file directly:



                          sed -i "/PI/,/Value:/d" your_file





                          share|improve this answer













                          Use this below code to remove multiple lines between patterns (including lines with patterns):



                          sed "/PI/,/Value:/d" your_file


                          If you want to modify your_file directly:



                          sed -i "/PI/,/Value:/d" your_file






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 14 at 14:21









                          FerimanFeriman

                          111




                          111



























                              draft saved

                              draft discarded
















































                              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%2f94616%2fremoving-text-between-two-specific-strings%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

                              How to check contact read email or not when send email to Individual?

                              Displaying single band from multi-band raster using QGIS

                              How many registers does an x86_64 CPU actually have?