ベストアンサー1
1つの方法は次のとおりです。
awk -vhead="$(tr '\n' ' ' <file2)" 'BEGIN{print head}{print}' file1 > newfile
このtr
コマンドは、改行を空白に置き換えて「列」をfile2
「行」に変換します。これはawk
変数として渡され、head
他のものよりも先に印刷されます。その後、入力ファイルの各行を印刷します。
または、次の場所で作業全体を完了することもできますawk
。
awk 'NR==FNR{printf "%s ",$0; next}FNR==1{print ""}1;' file2 file1 > newfile
NR
現在の入力行番号とFNR
現在のファイルの行番号。両方のファイルは、最初のファイルを読み取る場合にのみ同じです。末尾aなしでprintf "%s ",$0; next
現在の行を印刷し、次の行にジャンプします。\n
印刷タイトルの後に1つを追加すると、FNR==1{print ""}
「この行の印刷」の略語です。\n
1;
awk