Bash replace string at multiple places in a file from command line2019 Community Moderator ElectionReplace string with contents of a file using sedReplace whole line in a file from command-lineUsing sed, how can I replace a line containing a pattern with contents from another file?extract certain string, search and replace or keep a longer string contain the extracted valuesed command to replace a string from one file with entire contents of another fileReplace “_” with “|” in a file on 5th field onlytext file search yyyy/mm/dd and replace with yyyy-mm-ddBash replace string with commandremoving digits from the end of lines in text filehow to find & replace a file path listed in a file

I need to drive a 7/16" nut but am unsure how to use the socket I bought for my screwdriver

Sword in the Stone story where the sword was held in place by electromagnets

How to generate globally unique ids for different tables of the same database?

Cultural lunch issues

Welcoming 2019 Pi day: How to draw the letter π?

Russian cases: A few examples, I'm really confused

What is Thermal Runaway Protection?

What is IP squat space

Bash replace string at multiple places in a file from command line

Bastion server: use TCP forwarding VS placing private key on server

Is Mortgage interest accrued after a December payment tax deductible?

Rules about breaking the rules. How do I do it well?

Why is a Java array index expression evaluated before checking if the array reference expression is null?

Replacing Windows 7 security updates with anti-virus?

Why must traveling waves have the same amplitude to form a standing wave?

Good allowance savings plan?

Does the statement `int val = (++i > ++j) ? ++i : ++j;` invoke undefined behavior?

Employee lack of ownership

Brexit - No Deal Rejection

How to answer questions about my characters?

Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?

How could a female member of a species produce eggs unto death?

Can unconscious characters be unwilling?

What is the greatest age difference between a married couple in Tanach?



Bash replace string at multiple places in a file from command line



2019 Community Moderator ElectionReplace string with contents of a file using sedReplace whole line in a file from command-lineUsing sed, how can I replace a line containing a pattern with contents from another file?extract certain string, search and replace or keep a longer string contain the extracted valuesed command to replace a string from one file with entire contents of another fileReplace “_” with “|” in a file on 5th field onlytext file search yyyy/mm/dd and replace with yyyy-mm-ddBash replace string with commandremoving digits from the end of lines in text filehow to find & replace a file path listed in a file










1















I have a file with the below content. I want to replace chrome with chromeBackup but not in all places



Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX


Required output:



Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX









share|improve this question



















  • 1





    Can you describe the places that should and should not be replaced?

    – Jeff Schaller
    3 hours ago











  • Check my "required output"

    – Nani
    3 hours ago











  • A good answer would operate on any input; otherwise, someone could just statically print your desired output.

    – Jeff Schaller
    3 hours ago






  • 2





    In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

    – Jeff Schaller
    3 hours ago






  • 1





    Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

    – Kevin
    1 hour ago
















1















I have a file with the below content. I want to replace chrome with chromeBackup but not in all places



Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX


Required output:



Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX









share|improve this question



















  • 1





    Can you describe the places that should and should not be replaced?

    – Jeff Schaller
    3 hours ago











  • Check my "required output"

    – Nani
    3 hours ago











  • A good answer would operate on any input; otherwise, someone could just statically print your desired output.

    – Jeff Schaller
    3 hours ago






  • 2





    In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

    – Jeff Schaller
    3 hours ago






  • 1





    Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

    – Kevin
    1 hour ago














1












1








1


0






I have a file with the below content. I want to replace chrome with chromeBackup but not in all places



Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX


Required output:



Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX









share|improve this question
















I have a file with the below content. I want to replace chrome with chromeBackup but not in all places



Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX


Required output:



Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX






text-processing sed string replace






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 3 hours ago







Nani

















asked 3 hours ago









NaniNani

4117




4117







  • 1





    Can you describe the places that should and should not be replaced?

    – Jeff Schaller
    3 hours ago











  • Check my "required output"

    – Nani
    3 hours ago











  • A good answer would operate on any input; otherwise, someone could just statically print your desired output.

    – Jeff Schaller
    3 hours ago






  • 2





    In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

    – Jeff Schaller
    3 hours ago






  • 1





    Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

    – Kevin
    1 hour ago













  • 1





    Can you describe the places that should and should not be replaced?

    – Jeff Schaller
    3 hours ago











  • Check my "required output"

    – Nani
    3 hours ago











  • A good answer would operate on any input; otherwise, someone could just statically print your desired output.

    – Jeff Schaller
    3 hours ago






  • 2





    In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

    – Jeff Schaller
    3 hours ago






  • 1





    Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

    – Kevin
    1 hour ago








1




1





Can you describe the places that should and should not be replaced?

– Jeff Schaller
3 hours ago





Can you describe the places that should and should not be replaced?

– Jeff Schaller
3 hours ago













Check my "required output"

– Nani
3 hours ago





Check my "required output"

– Nani
3 hours ago













A good answer would operate on any input; otherwise, someone could just statically print your desired output.

– Jeff Schaller
3 hours ago





A good answer would operate on any input; otherwise, someone could just statically print your desired output.

– Jeff Schaller
3 hours ago




2




2





In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

– Jeff Schaller
3 hours ago





In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.

– Jeff Schaller
3 hours ago




1




1





Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

– Kevin
1 hour ago






Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?

– Kevin
1 hour ago











2 Answers
2






active

oldest

votes


















5














According to the information you have provided, you want to replace it at two places, so you can use:



sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name





share|improve this answer


















  • 3





    Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

    – Kusalananda
    2 hours ago


















0














More general perhaps, change all instances except those on the line starting Name=



from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange


or just skip the first line



from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange


or only in the lines starting Run or Vol



from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange





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%2f506329%2fbash-replace-string-at-multiple-places-in-a-file-from-command-line%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    According to the information you have provided, you want to replace it at two places, so you can use:



    sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name





    share|improve this answer


















    • 3





      Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

      – Kusalananda
      2 hours ago















    5














    According to the information you have provided, you want to replace it at two places, so you can use:



    sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name





    share|improve this answer


















    • 3





      Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

      – Kusalananda
      2 hours ago













    5












    5








    5







    According to the information you have provided, you want to replace it at two places, so you can use:



    sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name





    share|improve this answer













    According to the information you have provided, you want to replace it at two places, so you can use:



    sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 3 hours ago









    Prvt_YadvPrvt_Yadv

    2,73731027




    2,73731027







    • 3





      Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

      – Kusalananda
      2 hours ago












    • 3





      Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

      – Kusalananda
      2 hours ago







    3




    3





    Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

    – Kusalananda
    2 hours ago





    Or possibly sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.

    – Kusalananda
    2 hours ago













    0














    More general perhaps, change all instances except those on the line starting Name=



    from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange


    or just skip the first line



    from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange


    or only in the lines starting Run or Vol



    from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange





    share|improve this answer





























      0














      More general perhaps, change all instances except those on the line starting Name=



      from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange


      or just skip the first line



      from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange


      or only in the lines starting Run or Vol



      from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange





      share|improve this answer



























        0












        0








        0







        More general perhaps, change all instances except those on the line starting Name=



        from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange


        or just skip the first line



        from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange


        or only in the lines starting Run or Vol



        from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange





        share|improve this answer















        More general perhaps, change all instances except those on the line starting Name=



        from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange


        or just skip the first line



        from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange


        or only in the lines starting Run or Vol



        from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 2 hours ago

























        answered 2 hours ago









        bu5hmanbu5hman

        1,300315




        1,300315



























            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%2f506329%2fbash-replace-string-at-multiple-places-in-a-file-from-command-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

            Best approach to update all entries in a list that is paginated?Best way to add items to a paginated listChoose Your Country: Best Usability approachUpdate list when a user is viewing the list without annoying themWhen would the best day to update your webpage be?What should happen when I add a Row to a paginated, sorted listShould I adopt infinite scrolling or classical pagination?How to show user that page objects automatically updateWhat is the best location to locate the comments section in a list pageBest way to combine filtering and selecting items in a listWhen one of two inputs must be updated to satisfy a consistency criteria, which should you update (if at all)?

            Вунгтау (аеропорт) Загальні відомості | Див. також | Посилання | Навігаційне меню10°22′00″ пн. ш. 107°05′00″ сх. д. / 10.36667° пн. ш. 107.08333° сх. д. / 10.36667; 107.0833310°22′00″ пн. ш. 107°05′00″ сх. д. / 10.36667° пн. ш. 107.08333° сх. д. / 10.36667; 107.083337731608Vinh AirportVinh airport facelift improves serviceвиправивши або дописавши їївиправивши або дописавши їїр

            Тонконіг бульбистий Зміст Опис | Поширення | Екологія | Господарське значення | Примітки | Див. також | Література | Джерела | Посилання | Навігаційне меню1114601320038-241116202404kew-435458Poa bulbosaЭлектронный каталог сосудистых растений Азиатской России [Електронний каталог судинних рослин Азіатської Росії]Малышев Л. Л. Дикие родичи культурных растений. Poa bulbosa L. - Мятлик луковичный. [Малишев Л. Л. Дикі родичи культурних рослин. Poa bulbosa L. - Тонконіг бульбистий.]Мятлик (POA) Сем. Злаки (Мятликовые) [Тонконіг (POA) Род. Злаки (Тонконогові)]Poa bulbosa Linnaeus, Sp. Pl. 1: 70. 1753. 鳞茎早熟禾 lin jing zao shu he (Description from Flora of China) [Poa bulbosa Linnaeus, Sp. Pl. 1: 70. 1753. 鳞茎早熟禾 lin jing zao shu he (Опис від Флора Китаю)]Poa bulbosa L. – lipnice cibulkatá / lipnica cibulkatáPoa bulbosa в базі даних Poa bulbosa на сайті Poa bulbosa в базі даних «Global Biodiversity Information Facility» (GBIF)Poa bulbosa в базі даних «Euro + Med PlantBase» — інформаційному ресурсі для Євро-середземноморського розмаїття рослинPoa bulbosa L. на сайті «Плантариум»