sed: insert text after specific character in a specific line

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












0















Below is my text file:



example.txt
INTERFACESv4=""
INTERFACESv6=""


Below is my code (it inserts an IP address after the 14th character):



ip_add="192.168.1.2"
file_name="$HOMEDocumentsexample.txt"
sed -i "s/^(.14)/1$ip_add4/" "$file_name"


Below is the output of my text file:



example.txt
INTERFACESv4="192.168.1.2"
INTERFACESv6="192.168.1.2"


How do I insert the text in just the first line?










share|improve this question




























    0















    Below is my text file:



    example.txt
    INTERFACESv4=""
    INTERFACESv6=""


    Below is my code (it inserts an IP address after the 14th character):



    ip_add="192.168.1.2"
    file_name="$HOMEDocumentsexample.txt"
    sed -i "s/^(.14)/1$ip_add4/" "$file_name"


    Below is the output of my text file:



    example.txt
    INTERFACESv4="192.168.1.2"
    INTERFACESv6="192.168.1.2"


    How do I insert the text in just the first line?










    share|improve this question


























      0












      0








      0








      Below is my text file:



      example.txt
      INTERFACESv4=""
      INTERFACESv6=""


      Below is my code (it inserts an IP address after the 14th character):



      ip_add="192.168.1.2"
      file_name="$HOMEDocumentsexample.txt"
      sed -i "s/^(.14)/1$ip_add4/" "$file_name"


      Below is the output of my text file:



      example.txt
      INTERFACESv4="192.168.1.2"
      INTERFACESv6="192.168.1.2"


      How do I insert the text in just the first line?










      share|improve this question
















      Below is my text file:



      example.txt
      INTERFACESv4=""
      INTERFACESv6=""


      Below is my code (it inserts an IP address after the 14th character):



      ip_add="192.168.1.2"
      file_name="$HOMEDocumentsexample.txt"
      sed -i "s/^(.14)/1$ip_add4/" "$file_name"


      Below is the output of my text file:



      example.txt
      INTERFACESv4="192.168.1.2"
      INTERFACESv6="192.168.1.2"


      How do I insert the text in just the first line?







      linux sed






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 28 at 2:08









      Jeff Schaller

      43.9k1161141




      43.9k1161141










      asked Feb 28 at 2:04









      I.T. G.I.T. G.

      31




      31




















          1 Answer
          1






          active

          oldest

          votes


















          0














          The minimal change would be to force the command to execute only on line 1:



          sed -i "1s/^(.14)/1$ip_add4/" "$file_name"


          You might consider a stricter search pattern if you only want to change the value for INTERFACESv4, no matter what line that value appears on:



          sed -i "s/INTERFACESv4=.*/INTERFACESv4=$ip_add4/" "$file_name"





          share|improve this answer























          • Thank you! This worked.

            – I.T. G.
            Feb 28 at 2:31










          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%2f503470%2fsed-insert-text-after-specific-character-in-a-specific-line%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









          0














          The minimal change would be to force the command to execute only on line 1:



          sed -i "1s/^(.14)/1$ip_add4/" "$file_name"


          You might consider a stricter search pattern if you only want to change the value for INTERFACESv4, no matter what line that value appears on:



          sed -i "s/INTERFACESv4=.*/INTERFACESv4=$ip_add4/" "$file_name"





          share|improve this answer























          • Thank you! This worked.

            – I.T. G.
            Feb 28 at 2:31















          0














          The minimal change would be to force the command to execute only on line 1:



          sed -i "1s/^(.14)/1$ip_add4/" "$file_name"


          You might consider a stricter search pattern if you only want to change the value for INTERFACESv4, no matter what line that value appears on:



          sed -i "s/INTERFACESv4=.*/INTERFACESv4=$ip_add4/" "$file_name"





          share|improve this answer























          • Thank you! This worked.

            – I.T. G.
            Feb 28 at 2:31













          0












          0








          0







          The minimal change would be to force the command to execute only on line 1:



          sed -i "1s/^(.14)/1$ip_add4/" "$file_name"


          You might consider a stricter search pattern if you only want to change the value for INTERFACESv4, no matter what line that value appears on:



          sed -i "s/INTERFACESv4=.*/INTERFACESv4=$ip_add4/" "$file_name"





          share|improve this answer













          The minimal change would be to force the command to execute only on line 1:



          sed -i "1s/^(.14)/1$ip_add4/" "$file_name"


          You might consider a stricter search pattern if you only want to change the value for INTERFACESv4, no matter what line that value appears on:



          sed -i "s/INTERFACESv4=.*/INTERFACESv4=$ip_add4/" "$file_name"






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Feb 28 at 2:10









          Jeff SchallerJeff Schaller

          43.9k1161141




          43.9k1161141












          • Thank you! This worked.

            – I.T. G.
            Feb 28 at 2:31

















          • Thank you! This worked.

            – I.T. G.
            Feb 28 at 2:31
















          Thank you! This worked.

          – I.T. G.
          Feb 28 at 2:31





          Thank you! This worked.

          – I.T. G.
          Feb 28 at 2:31

















          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%2f503470%2fsed-insert-text-after-specific-character-in-a-specific-line%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?