【发布时间】:2021-11-28 08:26:04
【问题描述】:
我有 2 个 csv 文件。我希望文件 1 的第 1 列的信息用于从另一个 csv 文件中提取行。 我的 file1.csv 的名称按列排列:
ENSG00000102977
ENSG00000100823
ENSG00000149311
ENSG00000175054
ENSG00000085224
ENSG00000178999
ENSG00000197299
ENSG00000139618
ENSG00000105173
ENSG00000175305
ENSG00000166226
ENSG00000163468
ENSG00000115484
ENSG00000150753
ENSG00000146731
第二个 csv 文件的名称以及相应的值按行排列。
ENSG00000102977 1083.82334384253 1824.50639384557 1962.86064714976 1367.60568624972
我写了一个 awk 脚本
`awk 'FNR == NR{f1[$1];next} $1 in f2 {print $1,$2,$3,$4,$5 $NF}' FS="," file1.csv FS="," file2.csv`
但它返回时没有任何输出或错误。 请指导我哪里错了。由于没有错误,有点令人费解。
【问题讨论】:
-
预期输出是什么?还有为什么所有 file2 内容都显示在您提到
corresponding values arranged in rows的同一行中 -
您的第一个块初始化数组
f1,但在第二个块中您使用f2(空)数组。解决这个问题,事情应该会更好。