I have a data file ($file1
) which contains two lines of data per individual. I need to intersperse a third line of data from another data file ($file2
). So my input looks like:
>cat $file1
bob 1 1 0
bob 1 0 1
alan 0 0 1
alan 0 1 1
>cat $file2
bob a a b
alan a c a
So the desired result would be:
>cat $file3
bob 1 1 0
bob 1 0 1
bob a a b
alan 0 0 1
alan 0 1 1
alan a c a
If I just needed to intersperse every other line I would have used paste
like so:
>paste '-d\n' $file1 $file2
What would be the best tool to use to achieve this? I am using zsh
.
Best Answer
Just:
(provided
$file2
is not-
).Or with GNU
sed
, provided$file2
(the variable content, the file name) doesn't contain newline characters and doesn't start with a space or tab character:With
awk
(provided$file1
doesn't contain=
characters (or at least that if it does, the part before it is not an acceptable awk variable name)):