summaryrefslogtreecommitdiff
path: root/word-aligner/paste-parallel-files.pl
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2011-04-18 11:15:52 -0400
committerChris Dyer <cdyer@cs.cmu.edu>2011-04-18 11:15:52 -0400
commit9da4a35689d60253efdf60f2a0da6b500fb3da32 (patch)
tree00f1d91f7bc8a5d12bde5fa5a4d6b7ed98f2bced /word-aligner/paste-parallel-files.pl
parent4e49b075e0d7340be18121a680fffee2b91bafe6 (diff)
helper script
Diffstat (limited to 'word-aligner/paste-parallel-files.pl')
-rwxr-xr-xword-aligner/paste-parallel-files.pl35
1 files changed, 35 insertions, 0 deletions
diff --git a/word-aligner/paste-parallel-files.pl b/word-aligner/paste-parallel-files.pl
new file mode 100755
index 00000000..ce53b325
--- /dev/null
+++ b/word-aligner/paste-parallel-files.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/perl -w
+use strict;
+
+my @fs = ();
+for my $file (@ARGV) {
+ my $fh;
+ open $fh, "<$file" or die "Can't open $file for reading: $!";
+ push @fs, $fh;
+}
+my $num = scalar @fs;
+die "Usage: $0 file1.txt file2.txt [...]\n" unless $num > 1;
+
+my $first = $fs[0];
+while(<$first>) {
+ chomp;
+ my @out = ();
+ push @out, $_;
+ for (my $i=1; $i < $num; $i++) {
+ my $f = $fs[$i];
+ my $line = <$f>;
+ die "Mismatched number of lines!" unless defined $line;
+ chomp $line;
+ push @out, $line;
+ }
+ print join(' ||| ', @out) . "\n";
+}
+
+for my $fh (@fs) {
+ my $x=<$fh>;
+ die "Mismatched number of lines!" if defined $x;
+ close $fh;
+}
+
+exit 0;
+