Combine columns from several files into one





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







4















I have several files with two columns :
file 1:



1 100
2 103


file 2



1 200
2 203


and around 600 such files with two columns.



Now, I would like to combine the second column in every file of the first row in the correct sequence to get a single data file like :



100
200
.
.
. (600 lines)


How do I do that?










share|improve this question




















  • 1





    Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

    – Kusalananda
    Mar 30 at 10:49


















4















I have several files with two columns :
file 1:



1 100
2 103


file 2



1 200
2 203


and around 600 such files with two columns.



Now, I would like to combine the second column in every file of the first row in the correct sequence to get a single data file like :



100
200
.
.
. (600 lines)


How do I do that?










share|improve this question




















  • 1





    Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

    – Kusalananda
    Mar 30 at 10:49














4












4








4








I have several files with two columns :
file 1:



1 100
2 103


file 2



1 200
2 203


and around 600 such files with two columns.



Now, I would like to combine the second column in every file of the first row in the correct sequence to get a single data file like :



100
200
.
.
. (600 lines)


How do I do that?










share|improve this question
















I have several files with two columns :
file 1:



1 100
2 103


file 2



1 200
2 203


and around 600 such files with two columns.



Now, I would like to combine the second column in every file of the first row in the correct sequence to get a single data file like :



100
200
.
.
. (600 lines)


How do I do that?







text-processing awk






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 30 at 10:48









Jeff Schaller

44.7k1163145




44.7k1163145










asked Mar 30 at 10:06









newstudentnewstudent

454




454








  • 1





    Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

    – Kusalananda
    Mar 30 at 10:49














  • 1





    Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

    – Kusalananda
    Mar 30 at 10:49








1




1





Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

– Kusalananda
Mar 30 at 10:49





Are the files named in such a way that a filename globbing pattern would list them in the correct sequence?

– Kusalananda
Mar 30 at 10:49










2 Answers
2






active

oldest

votes


















8














awk 'FNR==1 {print $2}' file*


This prints the second column ($2) of the first line (FNR==1) for every file whose filename starts with file.



An alternative is to print the first line and then immediately skip to the next file (nextfile is a mawk and GNU awk-specific keyword):



awk '{print $2; nextfile}' file*





share|improve this answer

































    1














    Best answer has been given above. Tried with below command



    for i in file1 file2; do awk 'NR==1{print $2}' $i; done
    100
    200





    share|improve this answer


























    • I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

      – Jeff Schaller
      Mar 31 at 13:46












    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%2f509572%2fcombine-columns-from-several-files-into-one%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









    8














    awk 'FNR==1 {print $2}' file*


    This prints the second column ($2) of the first line (FNR==1) for every file whose filename starts with file.



    An alternative is to print the first line and then immediately skip to the next file (nextfile is a mawk and GNU awk-specific keyword):



    awk '{print $2; nextfile}' file*





    share|improve this answer






























      8














      awk 'FNR==1 {print $2}' file*


      This prints the second column ($2) of the first line (FNR==1) for every file whose filename starts with file.



      An alternative is to print the first line and then immediately skip to the next file (nextfile is a mawk and GNU awk-specific keyword):



      awk '{print $2; nextfile}' file*





      share|improve this answer




























        8












        8








        8







        awk 'FNR==1 {print $2}' file*


        This prints the second column ($2) of the first line (FNR==1) for every file whose filename starts with file.



        An alternative is to print the first line and then immediately skip to the next file (nextfile is a mawk and GNU awk-specific keyword):



        awk '{print $2; nextfile}' file*





        share|improve this answer















        awk 'FNR==1 {print $2}' file*


        This prints the second column ($2) of the first line (FNR==1) for every file whose filename starts with file.



        An alternative is to print the first line and then immediately skip to the next file (nextfile is a mawk and GNU awk-specific keyword):



        awk '{print $2; nextfile}' file*






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 30 at 10:50









        Kusalananda

        140k17261435




        140k17261435










        answered Mar 30 at 10:08









        SjoerdSjoerd

        32328




        32328

























            1














            Best answer has been given above. Tried with below command



            for i in file1 file2; do awk 'NR==1{print $2}' $i; done
            100
            200





            share|improve this answer


























            • I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

              – Jeff Schaller
              Mar 31 at 13:46
















            1














            Best answer has been given above. Tried with below command



            for i in file1 file2; do awk 'NR==1{print $2}' $i; done
            100
            200





            share|improve this answer


























            • I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

              – Jeff Schaller
              Mar 31 at 13:46














            1












            1








            1







            Best answer has been given above. Tried with below command



            for i in file1 file2; do awk 'NR==1{print $2}' $i; done
            100
            200





            share|improve this answer















            Best answer has been given above. Tried with below command



            for i in file1 file2; do awk 'NR==1{print $2}' $i; done
            100
            200






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Mar 31 at 13:46









            Jeff Schaller

            44.7k1163145




            44.7k1163145










            answered Mar 31 at 13:44









            Praveen Kumar BSPraveen Kumar BS

            1,7391311




            1,7391311













            • I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

              – Jeff Schaller
              Mar 31 at 13:46



















            • I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

              – Jeff Schaller
              Mar 31 at 13:46

















            I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

            – Jeff Schaller
            Mar 31 at 13:46





            I'd suggest at least using a wildcard for the for loop, as the OP indicated "around 600 such files" -- so that they don't have to type out each one. Also quote $i as "$i" when you refer to it, otherwise your solution will break on files named, for example: file number 5.

            – Jeff Schaller
            Mar 31 at 13:46


















            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%2f509572%2fcombine-columns-from-several-files-into-one%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

            He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

            Bunad

            Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum