У меня есть файлы .csv, с некоторыми числами, я хочу получить новый файл с тем же количеством строк и одного столбца, с суммой номеров соответствующей строки в исходном файле .csv.
Пример ввода (обратите внимание на пробелы, я надеюсь, что это не будет проблемой)
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Ожидаемый результат
2
4
5
6
7
Мой код (без вывода):
file_out="output.txt"
file_in="input.txt"
cmd3="sum_file=\$(awk -F, '
{
sum = 0;
for (i=1; i<=NF; i++) {
sum += \$i;
}
print sum;
}
' ${file_in})"
echo $cmd3
eval $cmd3
eval "echo ${sum_file} > ${file_out}"
Вы можете также предложить инструменты, отличные от awk, но я был бы рад узнать, почему мой код не работает, возможно, из-за пробелов (я так не думаю).