0
我有兩個TSV文件,我想根據第一列中的通用性合併它們。該列沒有標題,但數據是每個公司的名稱。將基於列的TSV合併到多行
我有一個接近我想要的awk代碼。問題是,我想合併公司每一次提到的信息,而不僅僅是第一次。
items.tsv看起來是這樣的:
IBM 0.0107 100.0%
APPL 0.0457 98.0%
GOOGL 0.0227 100.0%
GOOGL 0.0197 100.0%
GOOGL 0.0997 90.0%
GOOGL 0.0397 10.0%
vendors.tsv:
IBM Dec 2011
APPL Jan 2014
GOOGL June 2015
隨着我的代碼,輸出爲:
IBM 0.0107 100.0% Dec 2011
APPL 0.0457 98.0% Jan 2014
GOOGL 0.0227 100.0% June 2015
三線缺失!所需的輸出是這樣的:
IBM 0.0107 100.0% Dec 2011
APPL 0.0457 98.0% Jan 2014
GOOGL 0.0227 100.0% June 2015
GOOGL 0.0197 100.0% June 2015
GOOGL 0.0997 90.0% June 2015
GOOGL 0.0397 10.0% June 2015
這是我一直在使用的代碼:
awk '
BEGIN {FS=OFS="\t"}
NR==FNR {a[$1] = $2 FS $3; next}
$1 in a {print $1, a[$1], $2, $3}
' items.tsv vendors.tsv
行的順序並不重要。數據由標籤\ t分隔。我希望有人能幫助!
(請注意,awk的代碼是相同的東西我一直在使用,輸出由我打完了,所以\ t是一些地方定期空間等)