我有一个csv文件,如下所示:
SKU,QTY
KA006-001,2
KA006-001,33
KA006-001,46
KA009-001,22
KA009-001,7
KA010-001,18
KA014-001,3
KA014-001,42
KA015-001,1
KA015-001,16
KA020-001,6
KA022-001,56
第一列是SKU。第二列是数量编号。你知道吗
中的某些行(仅限SKU列)是相同的。你知道吗
我需要做到以下几点:
SKU,QTY
KA006-001,81 (2+33+46)
KA009-001,29 (22+7)
KA010-001,18
KA014-001,45 (3+42)
等等。。。你知道吗
我尝试了不同的方法,循环语句和数组。迷路了,头痛。你知道吗
我的代码:
#!/bin/bash
while IFS=, read sku qty
do
echo "SKU='$sku' QTY='$qty'"
if [ "$sku" = "$sku" ]
then
#x=("$sku" != "$sku")
for i in {0..3}; do echo $sku[$i]=$qty; done
fi
done < 2asg.csv
对于Bash 4:
https://github.com/tigertv/stackoverflow-answers
我会用awk:
如果要忽略空行,可以忽略小于2列的行:
或者忽略没有两列的:
或者,您可以检查第二列是否以数字开头:
相关问题 更多 >
编程相关推荐