how to add words before line on all the scripts in current folder











up vote
-1
down vote

favorite












under /home/scrript , we have 187 bash scripts
all the scripts have the following line:



kill -PIPE $PID 


we want to add the following words before this line on all the scripts as the following



[[ $KILL_STATUS = YES ]] && kill -PIPE $PID 


the reason for that is to avoid editing of each script , and use Linux commands as sed to do in one shoot on all the scripts,










share|improve this question
























  • theunixschool.com/2012/06/…
    – Peschke
    Dec 2 at 6:53















up vote
-1
down vote

favorite












under /home/scrript , we have 187 bash scripts
all the scripts have the following line:



kill -PIPE $PID 


we want to add the following words before this line on all the scripts as the following



[[ $KILL_STATUS = YES ]] && kill -PIPE $PID 


the reason for that is to avoid editing of each script , and use Linux commands as sed to do in one shoot on all the scripts,










share|improve this question
























  • theunixschool.com/2012/06/…
    – Peschke
    Dec 2 at 6:53













up vote
-1
down vote

favorite









up vote
-1
down vote

favorite











under /home/scrript , we have 187 bash scripts
all the scripts have the following line:



kill -PIPE $PID 


we want to add the following words before this line on all the scripts as the following



[[ $KILL_STATUS = YES ]] && kill -PIPE $PID 


the reason for that is to avoid editing of each script , and use Linux commands as sed to do in one shoot on all the scripts,










share|improve this question















under /home/scrript , we have 187 bash scripts
all the scripts have the following line:



kill -PIPE $PID 


we want to add the following words before this line on all the scripts as the following



[[ $KILL_STATUS = YES ]] && kill -PIPE $PID 


the reason for that is to avoid editing of each script , and use Linux commands as sed to do in one shoot on all the scripts,







linux text-processing awk sed perl






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 2 at 14:43









Jeff Schaller

37.1k1052121




37.1k1052121










asked Dec 2 at 6:42









yael

2,3301955




2,3301955












  • theunixschool.com/2012/06/…
    – Peschke
    Dec 2 at 6:53


















  • theunixschool.com/2012/06/…
    – Peschke
    Dec 2 at 6:53
















theunixschool.com/2012/06/…
– Peschke
Dec 2 at 6:53




theunixschool.com/2012/06/…
– Peschke
Dec 2 at 6:53










1 Answer
1






active

oldest

votes

















up vote
1
down vote













$ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i"; done


Explanation





  • for i in /home/scrript/*; do FOO; done: repeat for all files in /home/scrript. N.B. depending on your shell configuration this might skip dot files.


  • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i": for each file ("$i"), replace "in-place" (sed -i), replacing kill -PIPE $PID with [[ $KILL_STATUS = YES ]] && kill -PIPE $PID. (N.B. you need to escape the & as they have a special meaning otherwise.






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',
    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%2f485448%2fhow-to-add-words-before-line-on-all-the-scripts-in-current-folder%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








    up vote
    1
    down vote













    $ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i"; done


    Explanation





    • for i in /home/scrript/*; do FOO; done: repeat for all files in /home/scrript. N.B. depending on your shell configuration this might skip dot files.


    • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i": for each file ("$i"), replace "in-place" (sed -i), replacing kill -PIPE $PID with [[ $KILL_STATUS = YES ]] && kill -PIPE $PID. (N.B. you need to escape the & as they have a special meaning otherwise.






    share|improve this answer

























      up vote
      1
      down vote













      $ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i"; done


      Explanation





      • for i in /home/scrript/*; do FOO; done: repeat for all files in /home/scrript. N.B. depending on your shell configuration this might skip dot files.


      • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i": for each file ("$i"), replace "in-place" (sed -i), replacing kill -PIPE $PID with [[ $KILL_STATUS = YES ]] && kill -PIPE $PID. (N.B. you need to escape the & as they have a special meaning otherwise.






      share|improve this answer























        up vote
        1
        down vote










        up vote
        1
        down vote









        $ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i"; done


        Explanation





        • for i in /home/scrript/*; do FOO; done: repeat for all files in /home/scrript. N.B. depending on your shell configuration this might skip dot files.


        • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i": for each file ("$i"), replace "in-place" (sed -i), replacing kill -PIPE $PID with [[ $KILL_STATUS = YES ]] && kill -PIPE $PID. (N.B. you need to escape the & as they have a special meaning otherwise.






        share|improve this answer












        $ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i"; done


        Explanation





        • for i in /home/scrript/*; do FOO; done: repeat for all files in /home/scrript. N.B. depending on your shell configuration this might skip dot files.


        • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] && kill -PIPE $PID/' "$i": for each file ("$i"), replace "in-place" (sed -i), replacing kill -PIPE $PID with [[ $KILL_STATUS = YES ]] && kill -PIPE $PID. (N.B. you need to escape the & as they have a special meaning otherwise.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 2 at 7:06









        Sparhawk

        9,04063889




        9,04063889






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f485448%2fhow-to-add-words-before-line-on-all-the-scripts-in-current-folder%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

            Accessing regular linux commands in Huawei's Dopra Linux

            Can't connect RFCOMM socket: Host is down

            Kernel panic - not syncing: Fatal Exception in Interrupt