Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从日期时间提取日期,并将结果用作同一awk脚本中的条件_Awk_Group By - Fatal编程技术网

从日期时间提取日期,并将结果用作同一awk脚本中的条件

从日期时间提取日期,并将结果用作同一awk脚本中的条件,awk,group-by,Awk,Group By,以下是输入数据另存为input.csv aNumber|bNumber|startDate|timeZone|duration|currencyType|cost|dicatedAccused|balanceAfter|trafficCase|teleServiceCode|location|dataVolume|numberOfEvents|fafIndicator|netWorkID|serviceProvideID|serviceClass|nAno|nBno|bNumberZnCode|

以下是输入数据另存为input.csv

aNumber|bNumber|startDate|timeZone|duration|currencyType|cost|dicatedAccused|balanceAfter|trafficCase|teleServiceCode|location|dataVolume|numberOfEvents|fafIndicator|netWorkID|serviceProvideID|serviceClass|nAno|nBno|bNumberZnCode|fileNamedID|Destination|Operator|unknown3|MainAmount|ReAnalyse|DEDICATEDACCBALBEF|DEDICATEDACCBALAFT|ACCOUNTGROUPID|SERVICEOFFERINGS|SELECTEDCOMMUNITYID|BALANCEBEFORE
22677512549|778|2014-07-02 10:16:35.000|NULL|NULL|localCurrency|0.00|NULL|11.50|0|4|22676020076|NULL|NULL|NULL|NULL|NULL|34|77512549|778|NULL|1131257|OTHER|Short Code|126244088|0.0000|0|NULL|NULL|NULL|NULL|NULL|11.5000
22675557361|76457227|2014-07-02 10:16:38.000|NULL|NULL|localCurrency|10.00|NULL|1009.10|0|4|22676613028|NULL|NULL|1|NULL|NULL|35|75557361|76457227|NULL|1131257|Airtel|Airtel|4132206314|10.0000|0|NULL|NULL|NULL|NULL|NULL|1019.1000
22677521277|778|2014-07-02 10:16:42.000|NULL|NULL|localCurrency|0.00|NULL|0.00|0|4|22676020078|NULL|NULL|NULL|NULL|NULL|34|77521277|778|NULL|1131257|OTHER|Short Code|130071591|0.0000|0|NULL|NULL|NULL|NULL|NULL|0.0000
22676099496|77250331|2014-07-02 10:16:42.000|NULL|NULL|localCurrency|1.00|9|0.50|0|4|22676613028|NULL|NULL|NULL|NULL|NULL|35|76099496|77250331|NULL|1131257|Airtel|Airtel|4132218551|0.0000|0|4.0000|3.0000|NULL|NULL|NULL|0.5000
22667222160|22667262389|2014-07-02 10:16:43.000|NULL|NULL|localCurrency|10.00|NULL|16070.00|0|4|22676613028|NULL|NULL|NULL|NULL|NULL|35|67222160|67262389|NULL|1131257|Airtel|Airtel|4132222628|10.0000|0|NULL|NULL|NULL|NULL|NULL|16080.0000
22665799922|70110055|2014-07-02 10:16:45.000|NULL|NULL|localCurrency|20.00|6|0.50|0|4|22676020076|NULL|NULL|NULL|NULL|NULL|35|65799922|70110055|NULL|1131257|Telmob|Telmob|126260244|20.0000|0|44.0000|24.0000|NULL|NULL|NULL|0.5000
22676239633|433|2014-07-02 10:16:48.000|NULL|NULL|localCurrency|0.00|NULL|0.20|0|4|22676020027|NULL|NULL|NULL|NULL|NULL|35|76239633|433|NULL|1131257|Airtel_TollFree|Short Code|397224944|0.0000|0|NULL|NULL|NULL|NULL|NULL|0.2000
我必须按
日期
指示累计
交通案例
远程服务代码
进行分组,然后根据分组结果,我必须总结
持续时间
成本
之后的余额
主要金额
之前的余额
。我使用了awk脚本,如下所示:

下面是我正在使用的awk脚本(另存为
test.awk
):

当我运行我的awk脚本时:

$ awk -f test.awk input.csv
我得到的结果是:

date                       dAccused  TrafficCase  ServiceCode   Duration       Cost BalanceAfter MainAmount  DAcBlBefore   DAcBlAfter BalanceBefore
2014-07-02 10:16:45.000          6            0            4          0         20        0.5         20          0         44          0.5
2014-07-02 10:16:42.000       NULL            0            4          0          0          0          0          0          0            0
2014-07-02 10:16:38.000       NULL            0            4          0         10     1009.1         10          0          0       1019.1
2014-07-02 10:16:42.000          9            0            4          0          1        0.5          0          0          4          0.5
2014-07-02 10:16:35.000       NULL            0            4          0          0       11.5          0          0          0         11.5
2014-07-02 10:16:43.000       NULL            0            4          0         10      16070         10          0          0        16080
2014-07-02 10:16:48.000       NULL            0            4          0          0        0.2          0          0          0          0.2
我担心的是,我只希望显示日期,而不希望显示时间,因为这会毁了我所有的脚本。
我预计产出为:

date       dAccused TrafficCase ServiceCode Duration    Cost    BalanceAfter    MainAmount  DAcBlBefore DAcBlAfter  BalanceBefore   
2014-07-02   6       0           4           0           20      0.5             20             0            44          0.5    
2014-07-02  NULL     0           4           0           10      17090,8         20             0            0          17110,8 
2014-07-02   9       0           4           0            1      0,5             0              0            4           0,5    
任何想法都很好

  • FS=“;”
    更改为
    FS=“|”
  • 。}{key=sprintf(“…
    更改为
    。}{sub(/.*/,”,$3);key=sprintf(…
    即添加
    子(/.*/,”,$3);
  • 日期应为所需格式

    date       dAccused TrafficCase ServiceCode Duration    Cost    BalanceAfter    MainAmount  DAcBlBefore DAcBlAfter  BalanceBefore   
    2014-07-02   6       0           4           0           20      0.5             20             0            44          0.5    
    2014-07-02  NULL     0           4           0           10      17090,8         20             0            0          17110,8 
    2014-07-02   9       0           4           0            1      0,5             0              0            4           0,5