Concatenating the contents of two files from the second row onwards
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
add a comment |
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
1
welcome to U&L, what's wrong withcat
? 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 withcat
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
add a comment |
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
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
awk
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 withcat
? 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 withcat
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
add a comment |
1
welcome to U&L, what's wrong withcat
? 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 withcat
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
add a comment |
4 Answers
4
active
oldest
votes
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.
add a comment |
For completeness, here's a GNU tail
-based solution
tail -q -n +2 file1 file2
add a comment |
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
add a comment |
Why not
awk '{print $0}' file1 file2
...so that the first line of both is ignored
...
– Jeff Schaller
Feb 7 at 17:01
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
edited Feb 6 at 21:32
answered Feb 6 at 7:40
KusalanandaKusalananda
131k17249408
131k17249408
add a comment |
add a comment |
For completeness, here's a GNU tail
-based solution
tail -q -n +2 file1 file2
add a comment |
For completeness, here's a GNU tail
-based solution
tail -q -n +2 file1 file2
add a comment |
For completeness, here's a GNU tail
-based solution
tail -q -n +2 file1 file2
For completeness, here's a GNU tail
-based solution
tail -q -n +2 file1 file2
answered Feb 7 at 17:49
iruvariruvar
11.9k62960
11.9k62960
add a comment |
add a comment |
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
add a comment |
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
add a comment |
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
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
answered Feb 7 at 18:48
Praveen Kumar BSPraveen Kumar BS
1,470138
1,470138
add a comment |
add a comment |
Why not
awk '{print $0}' file1 file2
...so that the first line of both is ignored
...
– Jeff Schaller
Feb 7 at 17:01
add a comment |
Why not
awk '{print $0}' file1 file2
...so that the first line of both is ignored
...
– Jeff Schaller
Feb 7 at 17:01
add a comment |
Why not
awk '{print $0}' file1 file2
Why not
awk '{print $0}' file1 file2
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
add a comment |
...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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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