How to replace value in each field until a certain character in each record?












-3














Each record coming with column names. I have to replace them in each record as shown below:



TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0


Output should look like:



20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0









share|improve this question









New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to U&L, what have you tried so far?
    – Archemar
    2 hours ago
















-3














Each record coming with column names. I have to replace them in each record as shown below:



TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0


Output should look like:



20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0









share|improve this question









New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to U&L, what have you tried so far?
    – Archemar
    2 hours ago














-3












-3








-3







Each record coming with column names. I have to replace them in each record as shown below:



TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0


Output should look like:



20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0









share|improve this question









New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











Each record coming with column names. I have to replace them in each record as shown below:



TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0


Output should look like:



20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0






awk sed replace






share|improve this question









New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 1 hour ago









Jeff Schaller

38.7k1053125




38.7k1053125






New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 3 hours ago









Mullapudi Sudhakar

1




1




New contributor




Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Mullapudi Sudhakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    Welcome to U&L, what have you tried so far?
    – Archemar
    2 hours ago














  • 1




    Welcome to U&L, what have you tried so far?
    – Archemar
    2 hours ago








1




1




Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago




Welcome to U&L, what have you tried so far?
– Archemar
2 hours ago










2 Answers
2






active

oldest

votes


















2














This doesn't seem to require anything more complicated than sed 's/[^|]*=//g' (replace all sequences of non-| characters followed by = with nothing).



Ex.



$ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0





share|improve this answer





























    0














    Try this,



     echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/  /|/g;s/^ //g'




    • awk to nullify the odd columns with two field separator as |=


    • sed reformat the filed separator






    share|improve this answer





















    • It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
      – Mullapudi Sudhakar
      2 hours ago












    • can u share the few lines of file...
      – msp9011
      2 hours ago










    • echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
      – Mullapudi Sudhakar
      2 hours ago












    • it's printing column names instead of column values in the above command for few fields
      – Mullapudi Sudhakar
      2 hours ago










    • I think it's because "=" is coming as part of data for few fields
      – Mullapudi Sudhakar
      2 hours ago











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


    }
    });






    Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491337%2fhow-to-replace-value-in-each-field-until-a-certain-character-in-each-record%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









    2














    This doesn't seem to require anything more complicated than sed 's/[^|]*=//g' (replace all sequences of non-| characters followed by = with nothing).



    Ex.



    $ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
    20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0





    share|improve this answer


























      2














      This doesn't seem to require anything more complicated than sed 's/[^|]*=//g' (replace all sequences of non-| characters followed by = with nothing).



      Ex.



      $ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
      20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0





      share|improve this answer
























        2












        2








        2






        This doesn't seem to require anything more complicated than sed 's/[^|]*=//g' (replace all sequences of non-| characters followed by = with nothing).



        Ex.



        $ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
        20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0





        share|improve this answer












        This doesn't seem to require anything more complicated than sed 's/[^|]*=//g' (replace all sequences of non-| characters followed by = with nothing).



        Ex.



        $ echo 'TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0' | sed 's/[^|]*=//g'
        20181219110000261|FMBKHJBAAAADPCFNAAAAAABA|SWIclst|Session FMBKHJBAAAADPCFNAAAAAABA started|NSS|0|0






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 1 hour ago









        steeldriver

        34.2k35083




        34.2k35083

























            0














            Try this,



             echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/  /|/g;s/^ //g'




            • awk to nullify the odd columns with two field separator as |=


            • sed reformat the filed separator






            share|improve this answer





















            • It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
              – Mullapudi Sudhakar
              2 hours ago












            • can u share the few lines of file...
              – msp9011
              2 hours ago










            • echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
              – Mullapudi Sudhakar
              2 hours ago












            • it's printing column names instead of column values in the above command for few fields
              – Mullapudi Sudhakar
              2 hours ago










            • I think it's because "=" is coming as part of data for few fields
              – Mullapudi Sudhakar
              2 hours ago
















            0














            Try this,



             echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/  /|/g;s/^ //g'




            • awk to nullify the odd columns with two field separator as |=


            • sed reformat the filed separator






            share|improve this answer





















            • It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
              – Mullapudi Sudhakar
              2 hours ago












            • can u share the few lines of file...
              – msp9011
              2 hours ago










            • echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
              – Mullapudi Sudhakar
              2 hours ago












            • it's printing column names instead of column values in the above command for few fields
              – Mullapudi Sudhakar
              2 hours ago










            • I think it's because "=" is coming as part of data for few fields
              – Mullapudi Sudhakar
              2 hours ago














            0












            0








            0






            Try this,



             echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/  /|/g;s/^ //g'




            • awk to nullify the odd columns with two field separator as |=


            • sed reformat the filed separator






            share|improve this answer












            Try this,



             echo "TIME=20181219110000261|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIclst|VALU=Session FMBKHJBAAAADPCFNAAAAAABA started|SRC=NSS|UCPU=0|SCPU=0" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/  /|/g;s/^ //g'




            • awk to nullify the odd columns with two field separator as |=


            • sed reformat the filed separator







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 2 hours ago









            msp9011

            3,74343863




            3,74343863












            • It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
              – Mullapudi Sudhakar
              2 hours ago












            • can u share the few lines of file...
              – msp9011
              2 hours ago










            • echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
              – Mullapudi Sudhakar
              2 hours ago












            • it's printing column names instead of column values in the above command for few fields
              – Mullapudi Sudhakar
              2 hours ago










            • I think it's because "=" is coming as part of data for few fields
              – Mullapudi Sudhakar
              2 hours ago


















            • It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
              – Mullapudi Sudhakar
              2 hours ago












            • can u share the few lines of file...
              – msp9011
              2 hours ago










            • echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
              – Mullapudi Sudhakar
              2 hours ago












            • it's printing column names instead of column values in the above command for few fields
              – Mullapudi Sudhakar
              2 hours ago










            • I think it's because "=" is coming as part of data for few fields
              – Mullapudi Sudhakar
              2 hours ago
















            It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
            – Mullapudi Sudhakar
            2 hours ago






            It is working perfectly for one line but when I am trying to use it for a file it is printing only first and last columns. 20181219110000261|0 20181219110000261|0
            – Mullapudi Sudhakar
            2 hours ago














            can u share the few lines of file...
            – msp9011
            2 hours ago




            can u share the few lines of file...
            – msp9011
            2 hours ago












            echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
            – Mullapudi Sudhakar
            2 hours ago






            echo "TIME=20181219110000268|CHAN=FMBKHJBAAAADPCFNAAAAAABA|EVNT=SWIgrld|API=SWIrecGrammarLoad|TYPE=uri/2.0|URI=media-elr/en-us/grammar/PRVS05/…" | awk -F '[|=]' '{ for (i=1;i<=NF;i+=2) $i="" } 1' | sed -e 's/ /|/g;s/^ //g'
            – Mullapudi Sudhakar
            2 hours ago














            it's printing column names instead of column values in the above command for few fields
            – Mullapudi Sudhakar
            2 hours ago




            it's printing column names instead of column values in the above command for few fields
            – Mullapudi Sudhakar
            2 hours ago












            I think it's because "=" is coming as part of data for few fields
            – Mullapudi Sudhakar
            2 hours ago




            I think it's because "=" is coming as part of data for few fields
            – Mullapudi Sudhakar
            2 hours ago










            Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.













            Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.












            Mullapudi Sudhakar is a new contributor. Be nice, and check out our Code of Conduct.
















            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%2f491337%2fhow-to-replace-value-in-each-field-until-a-certain-character-in-each-record%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