微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在bash(Linux)中从另一个csv(如vlookup)中查找值

我已经尝试过在网上找到的所有选项来解决我的问题,但没有很好的结果.

基本上我有两个csv文件(管道分隔):

file1.csv:

123 | 21 | 0452 | IE | IE | 1 | MAYOBAN | BRIN | OFFICE | STREET | MAIN STREET | MAYOBAN |

123 | 21 | 0453 | IE | IE | 1 | CORKKIN | ROBERT | SURNAME | |软木APTS | CORKKIN |

123 | 21 | 0452 | IE | IE | 1 | CORKCOR | NAME | HARRINGTON |都柏林| STREET | CORKCOR |

file2.csv:

MAYOBAN | BANGOR | 2400

MAYOBEL | BELLAvary | 2400

CORKKIN | KINSALE | 2200

CORKCOR |软木| 2200

dubLD11 |都柏林11 | 2100

我需要一个linux bash脚本,根据file1中pos7的内容从file2中找到pos.3的值.

例:
file1,line1,pos 7:MAYOBAN
在file2中找到MAYOBAN,返回pos 3(2400)

输出应该是这样的:

2400

2200

2200

等等…

请帮忙
亚采

解决方法:

一个方法,远远不够完美:

DELIMITER="|"

for i in $(cut -f 7 -d "${DELIMITER}" file1.csv ); 
do 
    grep "${i}" file2.csv | cut -f 3 -d "${DELIMITER}"; 
done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐