extract characters between two commas?Text processing - join every two lines with commasRemove entire row in...

What to wear for invited talk in Canada

Symmetry in quantum mechanics

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

Are white and non-white police officers equally likely to kill black suspects?

Could a US political party gain complete control over the government by removing checks & balances?

Where to refill my bottle in India?

Denied boarding due to overcrowding, Sparpreis ticket. What are my rights?

What is the offset in a seaplane's hull?

Is there a familial term for apples and pears?

New order #4: World

Patience, young "Padovan"

Eliminate empty elements from a list with a specifict pattern

Is Fable (1996) connected in any way to the Fable franchise from Lionhead Studios?

LM317 - Calculate dissipation due to voltage drop

Extreme, but not acceptable situation and I can't start the work tomorrow morning

Why was the "bread communication" in the arena of Catching Fire left out in the movie?

Is it legal to have the "// (c) 2019 John Smith" header in all files when there are hundreds of contributors?

Does a dangling wire really electrocute me if I'm standing in water?

Prime joint compound before latex paint?

What does "enim et" mean?

Doomsday-clock for my fantasy planet

Why is making salt water prohibited on Shabbat?

I am not able to install anything in ubuntu

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



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







1















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





























    1















    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

























      1












      1








      1








      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 1 hour ago









      Anna1364Anna1364

      439213




      439213






















          3 Answers
          3






          active

          oldest

          votes


















          3














          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
            1 hour ago



















          1














          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































            0














            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









              3














              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
                1 hour ago
















              3














              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
                1 hour ago














              3












              3








              3







              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 1 hour ago









              iruvariruvar

              12.3k63062




              12.3k63062








              • 1





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

                – Kusalananda
                1 hour ago














              • 1





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

                – Kusalananda
                1 hour ago








              1




              1





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

              – Kusalananda
              1 hour ago





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

              – Kusalananda
              1 hour ago













              1














              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




























                1














                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


























                  1












                  1








                  1







                  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 1 hour ago









                  KusalanandaKusalananda

                  140k17261435




                  140k17261435























                      0














                      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




























                        0














                        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


























                          0












                          0








                          0







                          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 1 hour ago









                          unxnutunxnut

                          3,79721120




                          3,79721120






























                              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

                              Gersau Kjelder | Navigasjonsmeny46°59′0″N 8°31′0″E46°59′0″N...

                              Nässjö kommun Tettstader | Kjelder | NavigasjonsmenyeVIAFISNIGeoNamesMusicBrainz (area)

                              Kvitkval Innhaldsliste Taksonomi og utvikling | Utsjånad og levevis | Utbreiing | Åtferd |...