用HASH替换列

时间:2017-04-03 13:17:10

标签: bash csv awk hash cygwin

我的CSV文件在第3列中包含Null值。我需要使用第二列的哈希更新此列。

这是一个示例代码:

#!/bin/bash 
declare key='ABCDEFGHIJKLMNOP123456'
awk -F"," '{$3 = $2"$key";print}' C:/test.csv > C:/output.csv

这里是我的样本CSV

A,B,?
B,D,?
F,jk,?

我的代码输出不正确,我没有获得Key值但是Key变量名

A,B,key
B,D,key
F,jk,key

你能帮忙用第二列连接键值然后应用哈希(例如md5)

主要问题是如何在AWK中应用哈希。

提前致谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

awk -F "," -v env_var="$key" '{
        tmp="echo -n "$2env_var" | openssl md5 | cut -f2 -d\" \""
    tmp | getline cksum
    $3=cksum
    print
    }'