Find and Replace in Unix - XML File












0















I have output XML file which has string in each line icn="1", this number inside the double quotes will be changing for every line. But this number is not incrementing in order, so i have to make change to update this number in order.



I have the awk command to do this, but not able to exactly replace the number between double quotes.



awk '/icn=/{sub("icn=", "icn="++v)}1' OutputFile.xml >> test.xml









share|improve this question




















  • 2





    XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

    – DopeGhoti
    4 hours ago
















0















I have output XML file which has string in each line icn="1", this number inside the double quotes will be changing for every line. But this number is not incrementing in order, so i have to make change to update this number in order.



I have the awk command to do this, but not able to exactly replace the number between double quotes.



awk '/icn=/{sub("icn=", "icn="++v)}1' OutputFile.xml >> test.xml









share|improve this question




















  • 2





    XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

    – DopeGhoti
    4 hours ago














0












0








0








I have output XML file which has string in each line icn="1", this number inside the double quotes will be changing for every line. But this number is not incrementing in order, so i have to make change to update this number in order.



I have the awk command to do this, but not able to exactly replace the number between double quotes.



awk '/icn=/{sub("icn=", "icn="++v)}1' OutputFile.xml >> test.xml









share|improve this question
















I have output XML file which has string in each line icn="1", this number inside the double quotes will be changing for every line. But this number is not incrementing in order, so i have to make change to update this number in order.



I have the awk command to do this, but not able to exactly replace the number between double quotes.



awk '/icn=/{sub("icn=", "icn="++v)}1' OutputFile.xml >> test.xml






text-processing xml






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 26 mins ago









mosvy

8,2371732




8,2371732










asked 5 hours ago









Velava ShanmugamVelava Shanmugam

36




36








  • 2





    XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

    – DopeGhoti
    4 hours ago














  • 2





    XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

    – DopeGhoti
    4 hours ago








2




2





XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

– DopeGhoti
4 hours ago





XML is not regular, and attempting to parse, much less postprocess it, with RE tools is a path to madness. And ponies. You might instead be well served by using a DOM parser.

– DopeGhoti
4 hours ago










1 Answer
1






active

oldest

votes


















0














It seems me this is what you're trying to do:



awk '/icn=/ { sub(/icn=.[0-9][0-9]*/, "icn=""++v); print } ' file.xml





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%2f506591%2ffind-and-replace-in-unix-xml-file%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














    It seems me this is what you're trying to do:



    awk '/icn=/ { sub(/icn=.[0-9][0-9]*/, "icn=""++v); print } ' file.xml





    share|improve this answer




























      0














      It seems me this is what you're trying to do:



      awk '/icn=/ { sub(/icn=.[0-9][0-9]*/, "icn=""++v); print } ' file.xml





      share|improve this answer


























        0












        0








        0







        It seems me this is what you're trying to do:



        awk '/icn=/ { sub(/icn=.[0-9][0-9]*/, "icn=""++v); print } ' file.xml





        share|improve this answer













        It seems me this is what you're trying to do:



        awk '/icn=/ { sub(/icn=.[0-9][0-9]*/, "icn=""++v); print } ' file.xml






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 59 mins ago









        hyperbolehyperbole

        315




        315






























            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%2f506591%2ffind-and-replace-in-unix-xml-file%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

            CARDNET

            Boot-repair Failure: Unable to locate package grub-common:i386

            濃尾地震