【问题标题】:Replace column with HASH [duplicate]用 HASH 替换列 [重复]
【发布时间】:2017-04-03 22:25:09
【问题描述】:

我有一个 CSV 文件,其中第三列包含 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 中应用 Hash。

提前致谢

【问题讨论】:

  • 检查如何在awk中声明变量
  • 谢谢 PS,我也可以在 awk 中使用 MD5 吗?

标签: bash csv awk hash cygwin


【解决方案1】:

我找到了解决办法

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 2019-06-06
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2014-07-15
    相关资源
    最近更新 更多