如何在unix中计算awk命令内的和?
我的newProcessFile.txt如下所示如何在unix中计算awk命令内的和?,unix,awk,Unix,Awk,我的newProcessFile.txt如下所示 total 16 -rw-rw-r-- 1 jaind staff 0 Jul 14 08:54 cdim_landing_addl_addr.out -rw-rw-r-- 1 jaind staff 0 Jul 17 06:13 cdim_merge_alert_log.out -rw-rw-r-- 1 jaind staff 0 Jul
total 16
-rw-rw-r-- 1 jaind staff 0 Jul 14 08:54 cdim_landing_addl_addr.out
-rw-rw-r-- 1 jaind staff 0 Jul 17 06:13 cdim_merge_alert_log.out
-rw-rw-r-- 1 jaind staff 0 Jul 11 09:02 merge_log.out
-rw-rw-r-- 1 jaind staff 0 Nov 06 07:12 newProcessFile.txt
-rw------- 1 jaind staff 969 Aug 13 02:22 nohup.out
-rw-r----- 1 jaind staff 474 Apr 28 2014 profile_old
drwxr-x--- 2 jaind staff 256 Nov 06 04:45 test_Chiranjib
每当我试图计算第7列的和时,它将输出打印为0
awk 'BEGIN{ FS = ","; sum = 0; count = 0 } {if(NR >= 2){sum = sum + $7; count ++; print $1,$2,$5,sum}}' newProcessFile.txt
未计算总和。我缺少什么?您需要从awk命令中删除字段分隔符,因为您没有使用“,”来分隔字段
awk 'NR >= 2{sum += $7; print $1,$2,$5,sum}' newProcessFile.txt
我已经删除了计数器变量,而且它没有在任何地方使用。您需要从awk命令中删除字段分隔符,因为您没有使用“,”来分隔字段
awk 'NR >= 2{sum += $7; print $1,$2,$5,sum}' newProcessFile.txt
我已经删除了计数器变量,并且它没有在任何地方使用。假设您正在对当前目录进行目录列表,那么您真的不应该解析ls的输出。以下是两个备选方案:
stat -c "%s" * | awk '{sum+=$1} END {print sum}'
假设您正在执行当前目录的目录列表,那么您真的不应该解析ls的输出。以下是两个备选方案:
stat -c "%s" * | awk '{sum+=$1} END {print sum}'
我已经对你的代码做了一些更改,如果你愿意,可以随意回滚编辑。希望编辑摘要是不言自明的:)不必严格地将变量初始化为零。我对您的代码做了一些更改,如果您愿意,可以随意回滚编辑。希望编辑摘要是不言自明的:)不必严格地将变量初始化为零。第7列?您正在添加月份的天数??第7列?您正在添加月份的天数??