【发布时间】:2013-08-06 20:33:09
【问题描述】:
我正在编写一个 awk 脚本来解析 CSV 文件,比较包含日期的一列和包含活动类型的另一列,然后打印特定活动的计数。
我写的代码是:
NOW=$(date --date="5 days ago" +"%Y%m%d")
awk -F "," -v mydate=$NOW '{
var_1=1;
var_2=1;} {
if ( substr($8,2,8) == mydate ) {
if ( $6 == 1001 ) {
var_1++;
}
else if ( $6 == 1003 ) {
var_2++;
}
}
print var_1 var_2
}' *.csv
我得到的输出是
11
11
11
11
11
11
我认为这个问题与我定义var_1 和var_2 的方式有关;它们被重新初始化或其他东西。
另外我只想打印var_1 和var_2 的最终值;目前,它会随着awk 的每次迭代而被打印出来。
有什么建议吗?
【问题讨论】:
标签: linux shell variables awk count