我怎样才能合并两个文件?

我有两个文件

文件1:

7118 7457 7591 7539 8001 

文件2:

 5003 5008 5011 5026 5028 5029 5031 

我需要的输出

 7118,5003 7457,5003 7591,5003 7539,5003 8001,5003 7118,5008 7457,5008 7591,5008 7539,5008 8001,5008 

等等…..

 awk 'FNR==NR{a[$0];next}{ for(i in a) print i,$0 }' OFS="," file file1 

和一个bash函数:

 function cross() { exec 3<$2 while read -u 3 a ; do exec 4<$1 while read -u 4 b ; do echo $b,$a done done 3<&- 4<&- } 

我将使用perl脚本。

 #!/usr/bin/perl use strict; my @file1 = loadf("file1.txt"); my @file2 = loadf("file2.txt"); foreach my $line2 (@file2) { $line2 =~ s/^\s+//; $line2 =~ s/\s+$//; for (my $i = 0; $i < @file1; $i++) { $file1[$i] =~ s/^\s+//; $file1[$i] =~ s/\s+$//; #do the output print $file1[$i] . "," . $line2 . "\n"; } } sub loadf($) { my @file = ( ); open(FILE, $_[0] . "\n") or die("[-] Couldn't Open " . $_[0] . "\n"); @file = <FILE>; close(FILE); return @file; } 
 cat file1 | (exec 3< file2; while read A && read B <&3; do echo "$A,$B"; done)