awkを使用して複数のファイルソースから目的の出力を取得する方法

awkを使用して複数のファイルソースから目的の出力を取得する方法

2つのファイルがあります。

ファイル1:

A,D
B,E
C,F

ファイル2:

G,H,I
J,K,L

を使ってawk以下を印刷したいと思います。

A,D
B,E,I
C,F,L

awkこれを達成するためにどのように使用できますか?

ベストアンサー1

病気考えるn行の追加フィールドは、file2次に追加する必要があります。最後 nラインfile1:

awk -F, -v OFS=, 'FNR==NR {a[FNR]=$3; next} {print $0, a[FNR]}' <(tac file2) <(tac file1) | tac
paste -d, <(tac file1) <(cut -d, -f3- <(tac file2)) | tac

これらのソリューションは、最初の行に末尾のコンマを追加します。上記の内容をパイピングして削除できます。sed 's/,$//'

おすすめ記事