用 HASH 替换列
Replace column with HASH
我有一个 CSV 文件,在第 3 列中包含 Null 值。我需要用第二列的散列更新此列。
这里是示例代码:
#!/bin/bash
declare key='ABCDEFGHIJKLMNOP123456'
awk -F"," '{ = "$key";print}' C:/test.csv > C:/output.csv
这是我的示例 CSV
A,B,?
B,D,?
F,jk,?
我的代码输出不正确,我没有得到键值,而是键变量名
A,B,key
B,D,key
F,jk,key
能否请您帮忙将键值与第二列连接起来,然后应用哈希(例如 md5)
主要问题是如何在 AWK 中应用 Hash。
提前致谢
我找到了解决方案
awk -F "," -v env_var="$key" '{
tmp="echo -n "env_var" | openssl md5 | cut -f2 -d\" \""
tmp | getline cksum
=cksum
print
}'
我有一个 CSV 文件,在第 3 列中包含 Null 值。我需要用第二列的散列更新此列。
这里是示例代码:
#!/bin/bash
declare key='ABCDEFGHIJKLMNOP123456'
awk -F"," '{ = "$key";print}' C:/test.csv > C:/output.csv
这是我的示例 CSV
A,B,?
B,D,?
F,jk,?
我的代码输出不正确,我没有得到键值,而是键变量名
A,B,key
B,D,key
F,jk,key
能否请您帮忙将键值与第二列连接起来,然后应用哈希(例如 md5)
主要问题是如何在 AWK 中应用 Hash。
提前致谢
我找到了解决方案
awk -F "," -v env_var="$key" '{
tmp="echo -n "env_var" | openssl md5 | cut -f2 -d\" \""
tmp | getline cksum
=cksum
print
}'