我是shell脚本的新手。我需要将字符串中的值转换为整数,以便从csv文件中计算下面提到的各个列的总和。
列看起来像:"喜欢"、"喜欢"61〃"110〃;120,70
我尝试过使用awk-F","{sum+=$1}END{print sum}"但这并没有给我想要的结果,因为有些值是字符串。如何在将这些值相加之前将其转换为整数?
如果您确信;仅与数字一起使用,一个简单的
more file.csv | tr '"' ' ' > fixed.csv
应该做的工作
如果第一行是标题,您可以执行以下操作:
head -1 file.csv > fixed.csv
tail -n +2 file.csv | tr '"' ' ' >> fixed.csv
如果它满足您的需求,脚本版本是:
#!/bin/bash
if [[ $# != 2 ]]
then
printf "Usage:nscript.sh input_file.csv output_file.csvn"
exit -1
fi
set -o noclobber
head -1 "$1" > "$2"
tail -n +2 "$1" | tr '"' ' ' >> "$2"
set -o noclobber
防止意外重写:NoClobber。