rmsd1.xvg:
# GROup of MAchos and Cynical Suckers
#
@ title "RMSD"
@ xaxis label "Time (ps)"
@ yaxis label "RMSD (nm)"
1.0000000 0.0000009
20.0000000 0.1478001
40.0000000 0.1648600
60.0000000 0.1645018
80.0000000 0.1786710
100.0000000 0.2115960
####
rmsd2.xvg:
# GROup of MAchos and Cynical Suckers
#
@ title "RMSD"
@ xaxis label "Time (ps)"
@ yaxis label "RMSD (nm)"
1.0000000 0.1000009
20.0000000 0.2478001
40.0000000 0.3648600
60.0000000 0.4645018
80.0000000 0.5786710
100.0000000 0.6115960
####
My code:
#!/usr/bin/perl
use strict;
use warnings;
# Open file1 to read
open my $input_file1, '<', "rmsd1.xvg" or die qq{Failed to open "rmsd1.xvg" for writing: $!};
# Open file2 to read
open my $input_file2, '<', "rmsd2.xvg" or die qq{Failed to open "rmsd2.xvg" for writing: $!};
# Open new file to write
open my $out_file, '>', "out_file.xvg" or die qq{Failed to open "out_file.xvg" for writing: $!};
while(<$input_file1>)
{
next if /(^\s*$)|(^#)|(^@)/;
my @columns1 = split;
print $out_file join("\t", $columns1[0],$columns1[1], "\n");
}
while(<$input_file2>)
{
next if /(^\s*$)|(^#)|(^@)/;
my @columns2 = split;
print $out_file join("\t", $columns2[1]), "\n";
}
close($input_file1);
close($input_file2);
close($out_file);
####
Output file:
1.0000000 0.0000009
20.0000000 0.1478001
40.0000000 0.1648600
60.0000000 0.1645018
80.0000000 0.1786710
100.0000000 0.2115960
0.1000009
0.2478001
0.3648600
0.4645018
0.5786710
0.6115960
####
Requested:
1.0000000 0.0000009 0.1000009
20.0000000 0.1478001 0.2478001
40.0000000 0.1648600 0.3648600
60.0000000 0.1645018 0.4645018
80.0000000 0.1786710 0.5786710
100.0000000 0.2115960 0.6115960