Concatenating the contents of two files from the second row onwards












1















How to concatenate two files one to another using awk so that the first line of both is ignored?



Each file is in format:



#filename
4 5
5 6


Second for instance



#filename
7 6
1 4


Expected output:



4 5 
5 6
7 6
1 4









share|improve this question




















  • 1





    welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

    – Archemar
    Feb 6 at 6:35











  • What is the logic here? Is it just file 1 followed by file 2?

    – Sparhawk
    Feb 6 at 6:36











  • ok, thanks, it works

    – Lukáš Altman
    Feb 6 at 6:40











  • @Archemar Just concatenating with cat would leave the header in the output.

    – Kusalananda
    Feb 6 at 7:43











  • @Kusalananda my bad, was early morning, I didn't see the catch.

    – Archemar
    Feb 6 at 8:03
















1















How to concatenate two files one to another using awk so that the first line of both is ignored?



Each file is in format:



#filename
4 5
5 6


Second for instance



#filename
7 6
1 4


Expected output:



4 5 
5 6
7 6
1 4









share|improve this question




















  • 1





    welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

    – Archemar
    Feb 6 at 6:35











  • What is the logic here? Is it just file 1 followed by file 2?

    – Sparhawk
    Feb 6 at 6:36











  • ok, thanks, it works

    – Lukáš Altman
    Feb 6 at 6:40











  • @Archemar Just concatenating with cat would leave the header in the output.

    – Kusalananda
    Feb 6 at 7:43











  • @Kusalananda my bad, was early morning, I didn't see the catch.

    – Archemar
    Feb 6 at 8:03














1












1








1








How to concatenate two files one to another using awk so that the first line of both is ignored?



Each file is in format:



#filename
4 5
5 6


Second for instance



#filename
7 6
1 4


Expected output:



4 5 
5 6
7 6
1 4









share|improve this question
















How to concatenate two files one to another using awk so that the first line of both is ignored?



Each file is in format:



#filename
4 5
5 6


Second for instance



#filename
7 6
1 4


Expected output:



4 5 
5 6
7 6
1 4






awk






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 6 at 21:43









ilkkachu

59.1k892167




59.1k892167










asked Feb 6 at 6:24









Lukáš AltmanLukáš Altman

345




345








  • 1





    welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

    – Archemar
    Feb 6 at 6:35











  • What is the logic here? Is it just file 1 followed by file 2?

    – Sparhawk
    Feb 6 at 6:36











  • ok, thanks, it works

    – Lukáš Altman
    Feb 6 at 6:40











  • @Archemar Just concatenating with cat would leave the header in the output.

    – Kusalananda
    Feb 6 at 7:43











  • @Kusalananda my bad, was early morning, I didn't see the catch.

    – Archemar
    Feb 6 at 8:03














  • 1





    welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

    – Archemar
    Feb 6 at 6:35











  • What is the logic here? Is it just file 1 followed by file 2?

    – Sparhawk
    Feb 6 at 6:36











  • ok, thanks, it works

    – Lukáš Altman
    Feb 6 at 6:40











  • @Archemar Just concatenating with cat would leave the header in the output.

    – Kusalananda
    Feb 6 at 7:43











  • @Kusalananda my bad, was early morning, I didn't see the catch.

    – Archemar
    Feb 6 at 8:03








1




1





welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

– Archemar
Feb 6 at 6:35





welcome to U&L, what's wrong with cat ? e.g. cat f1 f2

– Archemar
Feb 6 at 6:35













What is the logic here? Is it just file 1 followed by file 2?

– Sparhawk
Feb 6 at 6:36





What is the logic here? Is it just file 1 followed by file 2?

– Sparhawk
Feb 6 at 6:36













ok, thanks, it works

– Lukáš Altman
Feb 6 at 6:40





ok, thanks, it works

– Lukáš Altman
Feb 6 at 6:40













@Archemar Just concatenating with cat would leave the header in the output.

– Kusalananda
Feb 6 at 7:43





@Archemar Just concatenating with cat would leave the header in the output.

– Kusalananda
Feb 6 at 7:43













@Kusalananda my bad, was early morning, I didn't see the catch.

– Archemar
Feb 6 at 8:03





@Kusalananda my bad, was early morning, I didn't see the catch.

– Archemar
Feb 6 at 8:03










4 Answers
4






active

oldest

votes


















2














It looks as if you want to concatenate the contents of the two files while skipping the first row of each file.



Getting everything but the first row of a file can be done in many ways, for example using awk:



awk 'FNR > 1' file


With awk, it's actually quite easy to do what you'd want to do with that exact awk program:



$ awk 'FNR > 1' file1 file2
4 5
5 6
7 6
1 4


FNR is a variable that awk maintains that holds the current record number (line number by default) in the current file. If FNR in this program is strictly greater than 1, then the current line in the current file is not the first line of that file. A program with just a condition like this in it will cause the lines for which the condition is true to be printed.






share|improve this answer

































    2














    For completeness, here's a GNU tail-based solution



    tail -q -n +2 file1 file2





    share|improve this answer































      0














      Using sed i have done by below method



      sed -n -e '1!p' f1 ;sed -n -e '1!p' f2


      output



      4 5
      5 6
      7 6
      1 4





      share|improve this answer































        -1














        Why not



        awk '{print $0}' file1 file2





        share|improve this answer


























        • ... so that the first line of both is ignored...

          – Jeff Schaller
          Feb 7 at 17:01











        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%2f498972%2fconcatenating-the-contents-of-two-files-from-the-second-row-onwards%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









        2














        It looks as if you want to concatenate the contents of the two files while skipping the first row of each file.



        Getting everything but the first row of a file can be done in many ways, for example using awk:



        awk 'FNR > 1' file


        With awk, it's actually quite easy to do what you'd want to do with that exact awk program:



        $ awk 'FNR > 1' file1 file2
        4 5
        5 6
        7 6
        1 4


        FNR is a variable that awk maintains that holds the current record number (line number by default) in the current file. If FNR in this program is strictly greater than 1, then the current line in the current file is not the first line of that file. A program with just a condition like this in it will cause the lines for which the condition is true to be printed.






        share|improve this answer






























          2














          It looks as if you want to concatenate the contents of the two files while skipping the first row of each file.



          Getting everything but the first row of a file can be done in many ways, for example using awk:



          awk 'FNR > 1' file


          With awk, it's actually quite easy to do what you'd want to do with that exact awk program:



          $ awk 'FNR > 1' file1 file2
          4 5
          5 6
          7 6
          1 4


          FNR is a variable that awk maintains that holds the current record number (line number by default) in the current file. If FNR in this program is strictly greater than 1, then the current line in the current file is not the first line of that file. A program with just a condition like this in it will cause the lines for which the condition is true to be printed.






          share|improve this answer




























            2












            2








            2







            It looks as if you want to concatenate the contents of the two files while skipping the first row of each file.



            Getting everything but the first row of a file can be done in many ways, for example using awk:



            awk 'FNR > 1' file


            With awk, it's actually quite easy to do what you'd want to do with that exact awk program:



            $ awk 'FNR > 1' file1 file2
            4 5
            5 6
            7 6
            1 4


            FNR is a variable that awk maintains that holds the current record number (line number by default) in the current file. If FNR in this program is strictly greater than 1, then the current line in the current file is not the first line of that file. A program with just a condition like this in it will cause the lines for which the condition is true to be printed.






            share|improve this answer















            It looks as if you want to concatenate the contents of the two files while skipping the first row of each file.



            Getting everything but the first row of a file can be done in many ways, for example using awk:



            awk 'FNR > 1' file


            With awk, it's actually quite easy to do what you'd want to do with that exact awk program:



            $ awk 'FNR > 1' file1 file2
            4 5
            5 6
            7 6
            1 4


            FNR is a variable that awk maintains that holds the current record number (line number by default) in the current file. If FNR in this program is strictly greater than 1, then the current line in the current file is not the first line of that file. A program with just a condition like this in it will cause the lines for which the condition is true to be printed.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Feb 6 at 21:32

























            answered Feb 6 at 7:40









            KusalanandaKusalananda

            131k17249408




            131k17249408

























                2














                For completeness, here's a GNU tail-based solution



                tail -q -n +2 file1 file2





                share|improve this answer




























                  2














                  For completeness, here's a GNU tail-based solution



                  tail -q -n +2 file1 file2





                  share|improve this answer


























                    2












                    2








                    2







                    For completeness, here's a GNU tail-based solution



                    tail -q -n +2 file1 file2





                    share|improve this answer













                    For completeness, here's a GNU tail-based solution



                    tail -q -n +2 file1 file2






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Feb 7 at 17:49









                    iruvariruvar

                    11.9k62960




                    11.9k62960























                        0














                        Using sed i have done by below method



                        sed -n -e '1!p' f1 ;sed -n -e '1!p' f2


                        output



                        4 5
                        5 6
                        7 6
                        1 4





                        share|improve this answer




























                          0














                          Using sed i have done by below method



                          sed -n -e '1!p' f1 ;sed -n -e '1!p' f2


                          output



                          4 5
                          5 6
                          7 6
                          1 4





                          share|improve this answer


























                            0












                            0








                            0







                            Using sed i have done by below method



                            sed -n -e '1!p' f1 ;sed -n -e '1!p' f2


                            output



                            4 5
                            5 6
                            7 6
                            1 4





                            share|improve this answer













                            Using sed i have done by below method



                            sed -n -e '1!p' f1 ;sed -n -e '1!p' f2


                            output



                            4 5
                            5 6
                            7 6
                            1 4






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Feb 7 at 18:48









                            Praveen Kumar BSPraveen Kumar BS

                            1,470138




                            1,470138























                                -1














                                Why not



                                awk '{print $0}' file1 file2





                                share|improve this answer


























                                • ... so that the first line of both is ignored...

                                  – Jeff Schaller
                                  Feb 7 at 17:01
















                                -1














                                Why not



                                awk '{print $0}' file1 file2





                                share|improve this answer


























                                • ... so that the first line of both is ignored...

                                  – Jeff Schaller
                                  Feb 7 at 17:01














                                -1












                                -1








                                -1







                                Why not



                                awk '{print $0}' file1 file2





                                share|improve this answer















                                Why not



                                awk '{print $0}' file1 file2






                                share|improve this answer














                                share|improve this answer



                                share|improve this answer








                                edited Feb 7 at 17:01









                                Jeff Schaller

                                41.6k1056132




                                41.6k1056132










                                answered Feb 7 at 16:59









                                user335735user335735

                                1




                                1













                                • ... so that the first line of both is ignored...

                                  – Jeff Schaller
                                  Feb 7 at 17:01



















                                • ... so that the first line of both is ignored...

                                  – Jeff Schaller
                                  Feb 7 at 17:01

















                                ... so that the first line of both is ignored...

                                – Jeff Schaller
                                Feb 7 at 17:01





                                ... so that the first line of both is ignored...

                                – Jeff Schaller
                                Feb 7 at 17:01


















                                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%2f498972%2fconcatenating-the-contents-of-two-files-from-the-second-row-onwards%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

                                How to make a Squid Proxy server?

                                Is this a new Fibonacci Identity?

                                19世紀