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

Yas*_*apl 1 linux csv bash compare 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

等等...

请帮助Jacek

sgi*_*ibb 5

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

DELIMITER="|"

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