Я пытаюсь взять сумму определенного столбца в файле, то есть в столбце 18. Используя команду awk вместе с Printf, чтобы отобразить ее в надлежащем десятичном формате.Awk Sum skipping Special Character Row
SUM=`cat ${INF_TARGET_FILE_PATH}/${EXTRACT_NAME}_${CURRENT_DT}.txt|awk -F"" '{s+=$18}END{printf("%24.2f\n", s)}'
Над командой пропускает эти строки в файле, который имеет особый характер в одном из столбцов 5 - репараций. Следовательно, Awk пропускает эти строки и не рассматривает сумму для этой строки. Пожалуйста, помогите решить эту проблему, чтобы взять сумму всех строк.
Это * пропуская * их или кодированный файл (UTF-8? ISO8859-1? Как кодируется файл, чтобы разрешать символы, отличные от ASCII?) Вызывают ошибки awk для ошибочных полей? Попробуйте схватить только строки, о которых идет речь, и посмотрите, что вы ожидаете от $ 18. – torek