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

基本上我有两个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

标签: bash, linux, csv, compare, vlookup

相关文章推荐

添加新评论,含*的栏目为必填