0

首先,请原谅我,我是菜鸟。我的问题如下:

我有 2 个文本文件 - file1 和 file2。以下是文件示例和所需的输出:

文件1:

A B C
D E F
G H I

文件2:

a1 a2 a3
b1 b2 b3
c1 c2 c3

期望的输出:

A B C a1 a2 a3
A B C b1 b2 b3
A B C c1 c2 c3
D E F a1 a2 a3
D E F b1 b2 b3
D E F c1 c2 c3

等等。

有人可以帮我解决这个问题吗?

4

1 回答 1

2
awk 'FNR == NR {file2[FNR] = $0; c++; next} {for (i = 1; i <= c; i++) {print $0, file2[i]}}' file2 file1

将 file2 的所有行读入一个数组。对于 file1 的每一行,循环遍历数组并打印来自 file1 的行和来自 file2 的行。

在 Bash 中:

while read -r line
do
    file2+=("$line")
done < file2

while read -r line
do
    for line2 in "${file2[@]}"
    do
        echo "$line $line2"
    done
done < file1
于 2012-07-03T05:38:07.780 回答