基本上,我有两个文件
dupestest.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
等
有人可以给我任何建议吗?
必须是awk。
答案 0 :(得分: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
中只有两个键中的一个存在以获得所需的输出,那么必须稍微调整一下脚本,这样就可以作为练习了。
答案 1 :(得分:0)
试试这个
awk -F, 'NR==FNR{a[$1]=$0;next}$1 in a&&$2 in a{print a[$1]","a[$2]}' haft.txt dup.txt