0

基本上,我有两个文件

欺骗测试.txt

152,153
192,193
215,216
290,291
2279,2280
2282,2283

haftest.txt

152,ABBOTS ROAD
153,ABBOTS ROAD
154,ABBOTS ROAD
155,ABBOTS ROAD
156,ABBOTS ROAD
157,ABBOTS ROAD

我想在 haftest.txt 中找到 dupestest.txt 中的数字并产生以下结果:results.txt

152,ABBOTS ROAD,153 ABBOTS ROAD 
192,ABBOTS ROAD,193,ABBOTS ROAD

ETC

谁能给我任何建议?

它必须在 awk 中。

4

2 回答 2

3

尝试这个:

awk -F, 'BEGIN{OFS=","} FNR==NR{a[$1]=$2; next} $1 in a || $2 in a{print $1, a[$1], $2, a[$2]}' haftest.txt dupestest.txt

这行脚本测试 中的第一个或第二个键是否dupestest.txt存在,如果其中一个键存在,则haftest.txt打印其关联值,如果两个键中只有一个键存在,您可能需要dupestest.txt稍微调整脚本haftest.txt获得所需的输出,这留给你作为练习。

于 2013-05-29T10:22:09.447 回答
0

尝试这个

awk -F, 'NR==FNR{a[$1]=$0;next}$1 in a&&$2 in a{print a[$1]","a[$2]}' haft.txt dup.txt
于 2013-05-29T11:28:08.680 回答