extract characters between two commas?Text processing - join every two lines with commasRemove entire row in a file if first column is repeatedMerging two files, one column at a timeJoin two textfiles on 1st column keeping order and unpairable lines from 1st fileHow to print lines if two fields have identical values?Delete lines that matches a string before commahow to remove comma and strings after a comma in a file?Fastest way to sum Nth column in text fileHow to extract the first row for each entry in the first column?Compare two files and get unmatched rows from the second file based on first and second column

Are cabin dividers used to "hide" the flex of the airplane?

Why do we use polarized capacitors?

extract characters between two commas?

Why airport relocation isn't done gradually?

How can I plot a Farey diagram?

What is the meaning of "of trouble" in the following sentence?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

How to manage monthly salary

Finding files for which a command fails

Does it makes sense to buy a new cycle to learn riding?

How could a lack of term limits lead to a "dictatorship?"

Does the average primeness of natural numbers tend to zero?

What do the Banks children have against barley water?

I’m planning on buying a laser printer but concerned about the life cycle of toner in the machine

What happens when a metallic dragon and a chromatic dragon mate?

Symmetry in quantum mechanics

Should the British be getting ready for a no-deal Brexit?

What to wear for invited talk in Canada

How to make particles emit from certain parts of a 3D object?

Why doesn't a const reference extend the life of a temporary object passed via a function?

Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore

Is Social Media Science Fiction?

How to move the player while also allowing forces to affect it

What is it called when one voice type sings a 'solo'?



extract characters between two commas?


Text processing - join every two lines with commasRemove entire row in a file if first column is repeatedMerging two files, one column at a timeJoin two textfiles on 1st column keeping order and unpairable lines from 1st fileHow to print lines if two fields have identical values?Delete lines that matches a string before commahow to remove comma and strings after a comma in a file?Fastest way to sum Nth column in text fileHow to extract the first row for each entry in the first column?Compare two files and get unmatched rows from the second file based on first and second column






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















I have a file with ~ 3 million rows, here is the first few lines of my file:



head out.txt
NA
NA
NA
NA
NA
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753,gene85754
gene85752,gene85753,gene85754
gene85752,gene85753,gene85754
gene85752,gene85753,gene85754
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752,gene85753
gene85752
gene85752


For those rows that are separated by ",", I want to keep everything after the first comma and before the second comma.
This is my desired output:



outgood.txt
NA
NA
NA
NA
NA
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85753
gene85752
gene85752









share|improve this question




























    4















    I have a file with ~ 3 million rows, here is the first few lines of my file:



    head out.txt
    NA
    NA
    NA
    NA
    NA
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753,gene85754
    gene85752,gene85753,gene85754
    gene85752,gene85753,gene85754
    gene85752,gene85753,gene85754
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752,gene85753
    gene85752
    gene85752


    For those rows that are separated by ",", I want to keep everything after the first comma and before the second comma.
    This is my desired output:



    outgood.txt
    NA
    NA
    NA
    NA
    NA
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85753
    gene85752
    gene85752









    share|improve this question
























      4












      4








      4








      I have a file with ~ 3 million rows, here is the first few lines of my file:



      head out.txt
      NA
      NA
      NA
      NA
      NA
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752
      gene85752


      For those rows that are separated by ",", I want to keep everything after the first comma and before the second comma.
      This is my desired output:



      outgood.txt
      NA
      NA
      NA
      NA
      NA
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85752
      gene85752









      share|improve this question














      I have a file with ~ 3 million rows, here is the first few lines of my file:



      head out.txt
      NA
      NA
      NA
      NA
      NA
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753,gene85754
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752,gene85753
      gene85752
      gene85752


      For those rows that are separated by ",", I want to keep everything after the first comma and before the second comma.
      This is my desired output:



      outgood.txt
      NA
      NA
      NA
      NA
      NA
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85753
      gene85752
      gene85752






      text-processing awk






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 hours ago









      Anna1364Anna1364

      454213




      454213




















          3 Answers
          3






          active

          oldest

          votes


















          14














          Since cut prints non-delimited lines by default the following works



          cut -f2 -d, file





          share|improve this answer


















          • 1





            It's nice when someone remember the little quirks of standard tools.

            – Kusalananda
            9 hours ago


















          2














          awk -F, 'NF > 1 $1 = $2 print $1 ' file


          This uses awk to parse the file as lines consisting of comma-delimited fields.



          The code detects when there is more than a single field on a line, and when there is, the first field is replaced by the second field. The first field, either unmodified or modified by the conditional code, is then printed.






          share|improve this answer























          • With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

            – glenn jackman
            8 hours ago











          • @glennjackman Well, the cut solution would be even faster in any case.

            – Kusalananda
            8 hours ago


















          1














          awk -F, 'NF == 1 print $1
          NF > 1 print $2' filename


          This will print just the first string if there is no comma, second string if there is one or more comma.






          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%2f511284%2fextract-characters-between-two-commas%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            14














            Since cut prints non-delimited lines by default the following works



            cut -f2 -d, file





            share|improve this answer


















            • 1





              It's nice when someone remember the little quirks of standard tools.

              – Kusalananda
              9 hours ago















            14














            Since cut prints non-delimited lines by default the following works



            cut -f2 -d, file





            share|improve this answer


















            • 1





              It's nice when someone remember the little quirks of standard tools.

              – Kusalananda
              9 hours ago













            14












            14








            14







            Since cut prints non-delimited lines by default the following works



            cut -f2 -d, file





            share|improve this answer













            Since cut prints non-delimited lines by default the following works



            cut -f2 -d, file






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 9 hours ago









            iruvariruvar

            12.4k63063




            12.4k63063







            • 1





              It's nice when someone remember the little quirks of standard tools.

              – Kusalananda
              9 hours ago












            • 1





              It's nice when someone remember the little quirks of standard tools.

              – Kusalananda
              9 hours ago







            1




            1





            It's nice when someone remember the little quirks of standard tools.

            – Kusalananda
            9 hours ago





            It's nice when someone remember the little quirks of standard tools.

            – Kusalananda
            9 hours ago













            2














            awk -F, 'NF > 1 $1 = $2 print $1 ' file


            This uses awk to parse the file as lines consisting of comma-delimited fields.



            The code detects when there is more than a single field on a line, and when there is, the first field is replaced by the second field. The first field, either unmodified or modified by the conditional code, is then printed.






            share|improve this answer























            • With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

              – glenn jackman
              8 hours ago











            • @glennjackman Well, the cut solution would be even faster in any case.

              – Kusalananda
              8 hours ago















            2














            awk -F, 'NF > 1 $1 = $2 print $1 ' file


            This uses awk to parse the file as lines consisting of comma-delimited fields.



            The code detects when there is more than a single field on a line, and when there is, the first field is replaced by the second field. The first field, either unmodified or modified by the conditional code, is then printed.






            share|improve this answer























            • With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

              – glenn jackman
              8 hours ago











            • @glennjackman Well, the cut solution would be even faster in any case.

              – Kusalananda
              8 hours ago













            2












            2








            2







            awk -F, 'NF > 1 $1 = $2 print $1 ' file


            This uses awk to parse the file as lines consisting of comma-delimited fields.



            The code detects when there is more than a single field on a line, and when there is, the first field is replaced by the second field. The first field, either unmodified or modified by the conditional code, is then printed.






            share|improve this answer













            awk -F, 'NF > 1 $1 = $2 print $1 ' file


            This uses awk to parse the file as lines consisting of comma-delimited fields.



            The code detects when there is more than a single field on a line, and when there is, the first field is replaced by the second field. The first field, either unmodified or modified by the conditional code, is then printed.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 10 hours ago









            KusalanandaKusalananda

            140k17261435




            140k17261435












            • With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

              – glenn jackman
              8 hours ago











            • @glennjackman Well, the cut solution would be even faster in any case.

              – Kusalananda
              8 hours ago

















            • With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

              – glenn jackman
              8 hours ago











            • @glennjackman Well, the cut solution would be even faster in any case.

              – Kusalananda
              8 hours ago
















            With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

            – glenn jackman
            8 hours ago





            With a big file, this would probably be faster: awk -F, 'print(NF>1 ? $2 : $1)' -- since you won't have to rewrite $0

            – glenn jackman
            8 hours ago













            @glennjackman Well, the cut solution would be even faster in any case.

            – Kusalananda
            8 hours ago





            @glennjackman Well, the cut solution would be even faster in any case.

            – Kusalananda
            8 hours ago











            1














            awk -F, 'NF == 1 print $1
            NF > 1 print $2' filename


            This will print just the first string if there is no comma, second string if there is one or more comma.






            share|improve this answer



























              1














              awk -F, 'NF == 1 print $1
              NF > 1 print $2' filename


              This will print just the first string if there is no comma, second string if there is one or more comma.






              share|improve this answer

























                1












                1








                1







                awk -F, 'NF == 1 print $1
                NF > 1 print $2' filename


                This will print just the first string if there is no comma, second string if there is one or more comma.






                share|improve this answer













                awk -F, 'NF == 1 print $1
                NF > 1 print $2' filename


                This will print just the first string if there is no comma, second string if there is one or more comma.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 10 hours ago









                unxnutunxnut

                3,80721120




                3,80721120



























                    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%2f511284%2fextract-characters-between-two-commas%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

                    Disable / Remove link to Product Items in Cart Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How can I limit products that can be bought / added to cart?Remove item from cartHide “Add to Cart” button if specific products are already in cart“Prettifying” the custom options in cart pageCreate link in cart sidebar to view all added items After limit reachedLink products together in checkout/cartHow to Get product from cart and add it againHide action-edit on cart page if simple productRemoving Cart items - ObserverRemove wishlist items when added to cart

                    Helsingin valtaus Sisällysluettelo Taustaa | Yleistä sotatoimista | Osapuolet | Taistelut Helsingin ympäristössä | Punaisten antautumissuunnitelma | Taistelujen kulku Helsingissä | Valtauksen jälkeen | Tappiot | Muistaminen | Kirjallisuutta | Lähteet | Aiheesta muualla | NavigointivalikkoTeoksen verkkoversioTeoksen verkkoversioGoogle BooksSisällissota Helsingissä päättyi tasan 95 vuotta sittenSaksalaisten ylivoima jyräsi punaisen HelsinginSuomalaiset kuvaavat sotien jälkiä kaupungeissa – katso kuvat ja tarinat tutuilta kulmiltaHelsingin valtaus 90 vuotta sittenSaksalaiset valtasivat HelsinginHyökkäys HelsinkiinHelsingin valtaus 12.–13.4. 1918Saksalaiset käyttivät ihmiskilpiä Helsingin valtauksessa 1918Teoksen verkkoversioTeoksen verkkoversioSaksalaiset hyökkäävät Etelä-SuomeenTaistelut LeppävaarassaSotilaat ja taistelutLeppävaara 1918 huhtikuussa. KapinatarinaHelsingin taistelut 1918Saksalaisten voitonparaati HelsingissäHelsingin valtausta juhlittiinSaksalaisten Helsinki vuonna 1918Helsingin taistelussa kaatuneet valkokaartilaisetHelsinkiin haudatut taisteluissa kaatuneet punaiset12.4.1918 Helsingin valtauksessa saksalaiset apujoukot vapauttavat kaupunginVapaussodan muistomerkkejä Helsingissä ja pääkaupunkiseudullaCrescendo / Vuoden 1918 Kansalaissodan uhrien muistomerkkim

                    Adjektiivitarina Tarinan tekeminen | Esimerkki: ennen | Esimerkki: jälkeen | Navigointivalikko