0

はじめに、私は初心者です、ご容赦ください。私の問題は次のとおりです。

file1 と file2 の 2 つのテキスト ファイルがあります。以下は、ファイルのサンプルと目的の出力です。

ファイル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 の行を出力します。

バッシュの場合:

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 に答える