从unix shell脚本文件中,我想提取csv文件中的值。假设,我有一个带有头文件V1,V2和N的csv文件values.csv,如下所示:
"V1","V2","N"
"0","0",216856
"1","0",16015
"0","1",25527
"1","1",10967
我想提取列N值并将其分配给unix脚本文件中的变量。例如,
a = 216856
b = 16015
c = 25527
d = 10967
如何拉取N的值并分配给shell脚本文件中的变量a,b,c,d?请帮忙。 提前致谢。
答案 0 :(得分:1)
不要使用单个变量名,请使用数组。安装csvkit,然后
mapfile -t n < <(csvcut -c "N" file.csv)
echo "a = ${n[1]}"
echo "b = ${n[2]}"
echo "c = ${n[3]}"
echo "d = ${n[4]}"
请注意,解析CSV可能会非常棘手,因此请使用正确的CSV解析器。
答案 1 :(得分:0)
这将在Bash中起作用,假设你想使用数组,这是正确的方法:
array=( $( tail -n +2 values.csv | awk -F',' '{print $3}' | tr '\n' ' ' ) )
echo "${array[0]}"
问候!