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

Why is current rating for multicore cable lower than single core with the same cross section?

Is GOCE a satellite or aircraft?

Will tsunami waves travel forever if there was no land?

Transfer over $10k

Has any spacecraft ever had the ability to directly communicate with civilian air traffic control?

Examples of non trivial equivalence relations , I mean equivalence relations without the expression " same ... as" in their definition?

Sci-fi novel series with instant travel between planets through gates. A river runs through the gates

Weird result in complex limit

How to creep the reader out with what seems like a normal person?

Historically, were women trained for obligatory wars? Or did they serve some other military function?

When did stoichiometry begin to be taught in U.S. high schools?

Are Boeing 737-800’s grounded?

Feels like I am getting dragged in office politics

Did Henry V’s archers at Agincourt fight with no pants / breeches on because of dysentery?

Where did the extra Pym particles come from in Endgame?

Modify locally tikzset

Is it possible to Ready a spell to be cast just before the start of your next turn by having the trigger be an ally's attack?

Why does nature favour the Laplacian?

Reverse the word in a string with the same order in javascript

What does 「再々起」mean?

Need help understanding harmonic series and intervals

Help, my Death Star suffers from Kessler syndrome!

Airbnb - host wants to reduce rooms, can we get refund?

What is the strongest case that can be made in favour of the UK regaining some control over fishing policy after Brexit?



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 Apr 8 at 17:48









      Anna1364Anna1364

      456214




      456214




















          4 Answers
          4






          active

          oldest

          votes


















          18














          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♦
            Apr 8 at 18:16


















          3














          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
            Apr 8 at 19:53











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

            – Kusalananda♦
            Apr 8 at 19:57


















          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






























            0














            You can do this with Perl as follows.



            Command-line:



            $ perl -F, -pale '$_ = $F[1] // $_' out.txt


            Explanation:




            • -p will read records line-by-line AND autoprint before going in to read the next or eof.


            • -l makes IRS = ORS = "n"


            • -F, makes FS a comma.


            • -a splits each record $_ on the field separator, in our case a comma, and goes ahead and stores the fields so generated in the array @F, which is zero-indexed.


            • -e implies, what follows it is the Perl code, which shall be gets applied to each record.


            • $_ = $F[1] // $_ expression reads as follows: if the 2nd field $F[1] isn't defined, use the current record $_. And then the result of this expression is assigned to the current record $_.

            • owing to the -p switch of perl being in use, before the new record is read in, the current record is taken to stdout.

            Result:



            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


            You may also do it with the GNU version of the sed editor as shown below:



            $ sed -ne '
            s/,/n/
            s/.*n//
            s/,/n/
            P
            ' out.txt





            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

























              4 Answers
              4






              active

              oldest

              votes








              4 Answers
              4






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              18














              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♦
                Apr 8 at 18:16















              18














              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♦
                Apr 8 at 18:16













              18












              18








              18







              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 Apr 8 at 18:08









              iruvariruvar

              12.5k63063




              12.5k63063







              • 1





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

                – Kusalananda♦
                Apr 8 at 18:16












              • 1





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

                – Kusalananda♦
                Apr 8 at 18:16







              1




              1





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

              – Kusalananda♦
              Apr 8 at 18:16





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

              – Kusalananda♦
              Apr 8 at 18:16













              3














              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
                Apr 8 at 19:53











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

                – Kusalananda♦
                Apr 8 at 19:57















              3














              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
                Apr 8 at 19:53











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

                – Kusalananda♦
                Apr 8 at 19:57













              3












              3








              3







              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 Apr 8 at 18:04









              Kusalananda♦Kusalananda

              144k18272450




              144k18272450












              • 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
                Apr 8 at 19:53











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

                – Kusalananda♦
                Apr 8 at 19:57

















              • 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
                Apr 8 at 19:53











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

                – Kusalananda♦
                Apr 8 at 19:57
















              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
              Apr 8 at 19:53





              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
              Apr 8 at 19:53













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

              – Kusalananda♦
              Apr 8 at 19:57





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

              – Kusalananda♦
              Apr 8 at 19:57











              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 Apr 8 at 18:02









                  unxnutunxnut

                  3,82721120




                  3,82721120





















                      0














                      You can do this with Perl as follows.



                      Command-line:



                      $ perl -F, -pale '$_ = $F[1] // $_' out.txt


                      Explanation:




                      • -p will read records line-by-line AND autoprint before going in to read the next or eof.


                      • -l makes IRS = ORS = "n"


                      • -F, makes FS a comma.


                      • -a splits each record $_ on the field separator, in our case a comma, and goes ahead and stores the fields so generated in the array @F, which is zero-indexed.


                      • -e implies, what follows it is the Perl code, which shall be gets applied to each record.


                      • $_ = $F[1] // $_ expression reads as follows: if the 2nd field $F[1] isn't defined, use the current record $_. And then the result of this expression is assigned to the current record $_.

                      • owing to the -p switch of perl being in use, before the new record is read in, the current record is taken to stdout.

                      Result:



                      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


                      You may also do it with the GNU version of the sed editor as shown below:



                      $ sed -ne '
                      s/,/n/
                      s/.*n//
                      s/,/n/
                      P
                      ' out.txt





                      share|improve this answer



























                        0














                        You can do this with Perl as follows.



                        Command-line:



                        $ perl -F, -pale '$_ = $F[1] // $_' out.txt


                        Explanation:




                        • -p will read records line-by-line AND autoprint before going in to read the next or eof.


                        • -l makes IRS = ORS = "n"


                        • -F, makes FS a comma.


                        • -a splits each record $_ on the field separator, in our case a comma, and goes ahead and stores the fields so generated in the array @F, which is zero-indexed.


                        • -e implies, what follows it is the Perl code, which shall be gets applied to each record.


                        • $_ = $F[1] // $_ expression reads as follows: if the 2nd field $F[1] isn't defined, use the current record $_. And then the result of this expression is assigned to the current record $_.

                        • owing to the -p switch of perl being in use, before the new record is read in, the current record is taken to stdout.

                        Result:



                        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


                        You may also do it with the GNU version of the sed editor as shown below:



                        $ sed -ne '
                        s/,/n/
                        s/.*n//
                        s/,/n/
                        P
                        ' out.txt





                        share|improve this answer

























                          0












                          0








                          0







                          You can do this with Perl as follows.



                          Command-line:



                          $ perl -F, -pale '$_ = $F[1] // $_' out.txt


                          Explanation:




                          • -p will read records line-by-line AND autoprint before going in to read the next or eof.


                          • -l makes IRS = ORS = "n"


                          • -F, makes FS a comma.


                          • -a splits each record $_ on the field separator, in our case a comma, and goes ahead and stores the fields so generated in the array @F, which is zero-indexed.


                          • -e implies, what follows it is the Perl code, which shall be gets applied to each record.


                          • $_ = $F[1] // $_ expression reads as follows: if the 2nd field $F[1] isn't defined, use the current record $_. And then the result of this expression is assigned to the current record $_.

                          • owing to the -p switch of perl being in use, before the new record is read in, the current record is taken to stdout.

                          Result:



                          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


                          You may also do it with the GNU version of the sed editor as shown below:



                          $ sed -ne '
                          s/,/n/
                          s/.*n//
                          s/,/n/
                          P
                          ' out.txt





                          share|improve this answer













                          You can do this with Perl as follows.



                          Command-line:



                          $ perl -F, -pale '$_ = $F[1] // $_' out.txt


                          Explanation:




                          • -p will read records line-by-line AND autoprint before going in to read the next or eof.


                          • -l makes IRS = ORS = "n"


                          • -F, makes FS a comma.


                          • -a splits each record $_ on the field separator, in our case a comma, and goes ahead and stores the fields so generated in the array @F, which is zero-indexed.


                          • -e implies, what follows it is the Perl code, which shall be gets applied to each record.


                          • $_ = $F[1] // $_ expression reads as follows: if the 2nd field $F[1] isn't defined, use the current record $_. And then the result of this expression is assigned to the current record $_.

                          • owing to the -p switch of perl being in use, before the new record is read in, the current record is taken to stdout.

                          Result:



                          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


                          You may also do it with the GNU version of the sed editor as shown below:



                          $ sed -ne '
                          s/,/n/
                          s/.*n//
                          s/,/n/
                          P
                          ' out.txt






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Apr 9 at 5:22









                          Rakesh SharmaRakesh Sharma

                          262




                          262



























                              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

                              Are all passive ability checks floors for active ability checks?Does passive perception supersede active perception?Which skills can be used passively?Active Opposition with Free-Form Professions in Fate5E Trap/Ambush/Stealth Mechanics VS Passive Perception ConfusionInteraction between perception and stealth in obscured conditionsHow does Keen Sight affect Passive Perception?Are all d20 rolls either attacks, saves or ability checks?Can players declare that they are making a specific ability check?Can I see a Hidden creature that is not obscured at all?Can a Stealth check ever be made passively?Is this alternate version of the Observant feat balanced?What is the minimum amount of skill points per HD?

                              How do we improve the relationship with a client software team that performs poorly and is becoming less collaborative? Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar ManaraDealing with clients who want more than what's in the contractHow to prepare for a client visit?How to handle undeservedly positive feedbackSupervisor apparently making it appear that our team underperformed and we indirectly caused client not to pay fullHow to progress my skills development as both the technical lead and youngest member on my team?Under performing employee will be fired if I ask for him off my teamwhat recommendations can I give to a colleague who is not preforming as well as expectedForcing usage of clients laptops because of VPN accessIs it acceptable to e-mail a client regarding potential opportunities in their company?Am I overly concerned about a newly hired Senior Developer with low performance?

                              Operational amplifier basicsNegative feedback- noninverting voltage amplifierHow to set the input impedance of an inverting amplifierInput impedance of a non-inverting op-ampWhy altering open loop gain is necessary in amplifier's frequency compensation..?Transistor current control with positive feedback differential amplifierVirtual Ground Paradox?In closed loop configuration of op-amp,what happens to open loop gain?Why is the output of the precision rectifier 0 when the diode does not conduct?Stability of op-amps: “Oscillations if phase = 180° and loop gain > 1” questionHow to identify the circuit has negative feedback or positive feedback?