【问题标题】:AWK keep header of input file in outputAWK 在输出中保留输入文件的标题
【发布时间】:2015-10-09 07:50:14
【问题描述】:

我有一个如下所示的输入文件:

datetime,num1,num2
10-01-2015 00:00,1,2
10-01-2015 00:00,4,5

我的 awk 代码如下所示:

awk -F"," '{thisid=substr($1,1,10);if(lastid!=thisid)
{print lastid"|"cnt1"|"cnt2;cnt1=0;cnt2=0;lastid=thisid;}
if($2>=40){cnt1+=1;}if($3>=40){cnt2+=1;}
lastid=thisid;}' input > output

我希望我的输出仍然有标题:

datetime,num1,num2
10-01-2015,0,0
10-01-2015,0,0

当前的 header 输出如下所示:

datetime|1|1

我不想手动打印标题。

【问题讨论】:

  • 您是否发现在脚本中不使用任何空格会提高可读性?

标签: bash awk


【解决方案1】:

在左大括号 ({) 之前,添加:

NR == 1 {print; next}

【讨论】:

    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多