Linux
Linux第一個文件中的一行在第二個文件中合併為多行,轉置非規範化
文件_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
請建議
$ 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 中獲取與第一行關聯的索引 1文件 2 和與文件 1 中的第二行相關聯的索引 0 對於文件 2 的每隔一行。它在任何 awk 中的行為方式都相同。