【发布时间】:2016-02-15 10:00:51
【问题描述】:
我正在尝试获取文件中特定列的总和,即第 18 列。 使用 awk 命令和 Printf 以正确的十进制格式显示它。
SUM=`cat ${INF_TARGET_FILE_PATH}/${EXTRACT_NAME}_${CURRENT_DT}.txt|awk -F"" '{s+=$18}END{printf("%24.2f\n", s)}'
上面的命令正在跳过文件中在第 5 列 - RÉPARATIONS 之一中具有特殊字符的那些行。因此,Awk 跳过这些行并且不考虑该行的总和。请帮助如何解决此问题以获取所有行的总和。
【问题讨论】:
-
是 跳过 它们,还是编码文件(UTF-8?ISO8859-1?文件如何编码以允许非 ASCII 字符?)导致 awk错误计数字段?试着抓住有问题的行,看看
$18是否是你所期望的。
标签: awk