How can I merge two files?

前端 未结 4 760
别跟我提以往
别跟我提以往 2021-01-27 03:26

I have two files

File 1:

7118
7457
7591
7539
8001

File 2:

5003
5008
5011
5026
5028
5029
5031

Output t

相关标签:
4条回答
  • 2021-01-27 03:51

    I'll use a perl script for that.

    #!/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;
    }
    
    0 讨论(0)
  • 2021-01-27 03:54
    cat file1 | (exec 3< file2; while read A && read B <&3; do echo "$A,$B"; done)
    
    0 讨论(0)
  • 2021-01-27 04:04

    And a bash function:

    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<&-
    }
    
    0 讨论(0)
  • 2021-01-27 04:09
    awk 'FNR==NR{a[$0];next}{ for(i in a) print i,$0 }' OFS="," file file1
    
    0 讨论(0)
提交回复
热议问题