我已经尝试过在网上找到的所有选项来解决我的问题,但没有很好的结果.
基本上我有两个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