ファイル1
Group Country Lang
IT USA ENG
ファイル_2
EMPID STOREID
1001 1400
1002 1401
1003 1401
私が使うなら
paste -d'\t' File_1 File_2
わかりました。
Group^ICountry^ILang^IEMPID^ISTOREID$
IT^IUSA^IENG^I1001^I1400$
^I1002^I1401$
^I1003^I1401$
私がこのようなものを手に入れようとしたとき
Group Country Lang EMPID STOREID
IT USA ENG 1001 1400
IT USA ENG 1002 1401
IT USA ENG 1003 1401
提案してください
答え1
$ awk -v OFS='\t' 'NR==FNR{a[FNR==1]=$0; next} {print a[FNR==1], $0}' file1 file2
Group Country Lang EMPID STOREID
IT USA ENG 1001 1400
IT USA ENG 1002 1401
IT USA ENG 1003 1401
上記は「ファイルの最初の行です」()比較結果1または0を使用して配列のインデックスを作成するため、ファイルFNR==1
1の最初の行はファイル2に関連付けられ、ファイル2の他のすべての行はになります。ファイル1インデックス0の2行目。どのawkでも同じように動作します。
答え2
awk
これに使用できます。
awk '
FNR == NR {buf[NR] = $0; next}
{print (FNR==1 ? buf[1] : buf[2]) "\t" $0}
' file1 file2
最初のファイル()を解析するときにヘッダーと行を保存し、FNR==NR
2番目のファイルの各行と一緒に適切なプレフィックスを印刷します。
出力:
Group Country Lang EMPID STOREID
IT USA ENG 1001 1400
IT USA ENG 1002 1401
IT USA ENG 1003 1401
答え3
GNU awkを使って次の行を試してみてください。
$ awk 'FNR==NR {a[NR]=$0;nrow=FNR;next} NR==nrow+1 {print a[1],$0;next} {print a[2],$0}' data1 data2
Group Country Lang EMPID STOREID
IT USA ENG 1001 1400
IT USA ENG 1002 1401
IT USA ENG 1003 1401
そして:
$ cat data1
Group Country Lang
IT USA ENG
$ cat data2
EMPID STOREID
1001 1400
1002 1401
1003 1401