小编VNA*_*VNA的帖子

awk总和多列

如何计算所有单个列(115列)的SUM?

INPUT.TXT

1st,2nd,3rd,4th,5th,Till-115thColumn
51,34,27,67,88,99
56,39,32,72,93,104
66,49,42,82,103,114
Run Code Online (Sandbox Code Playgroud)

Output.txt的

1st,2nd,3rd,4th,5th,Till-115thColumn
173,122,101,221,284,317
Run Code Online (Sandbox Code Playgroud)

我试过这个命令:

awk -F"," 'BEGIN {sum=0; OFS=","} {for (i=1 i<=NF; i++) a[i]+=$i } END {for (i in a) print a[i]}' Input.txt
Run Code Online (Sandbox Code Playgroud)

但我没有得到所需的输出.

awk

4
推荐指数
1
解决办法
1万
查看次数

awk根据列字段打印唯一的行:

想要根据第一个字段打印唯一行,保留该行的第一次出现并删除重复的其他出现.

Input.csv

10,15-10-2014,abc
20,12-10-2014,bcd
10,09-10-2014,def
40,06-10-2014,ghi
10,15-10-2014,abc
Run Code Online (Sandbox Code Playgroud)

期望的输出:

10,15-10-2014,abc
20,12-10-2014,bcd
40,06-10-2014,ghi
Run Code Online (Sandbox Code Playgroud)

尝试过以下命令并完成

awk 'BEGIN { FS = OFS = "," }  { !seen[$1]++ } END { for ( i in seen) print $0}' Input.csv
Run Code Online (Sandbox Code Playgroud)

寻找你的建议......

awk

4
推荐指数
1
解决办法
1万
查看次数

awk 计算两个日期之间的天数:

想要计算两个日期之间的天数,对于下面的示例,天数 == $6-$4 位置。

输入.txt

Desc1,Desc2,Desc3,DATE_ACTIVE,STATEMENT_DATE,Desc4
abc,def,ghi,21-MAR-08,01-JUL-14,jkl
abc,def,ghi,01-JUL-14,15-JUL-14,jkl
abc,def,ghi,06-NOV-06,08-JUL-14,jkl
abc,def,ghi,18-NOV-03,08-JUL-14,jkl
abc,def,ghi,14-JUN-06,15-JUL-14,jkl
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Desc1,Desc2,Desc3,DATE_ACTIVE,STATEMENT_DATE,Desc4,No_Of_Days
abc,def,ghi,21-MAR-08,01-JUL-14,jkl,2293
abc,def,ghi,01-JUL-14,15-JUL-14,jkl,14
abc,def,ghi,06-NOV-06,08-JUL-14,jkl,2801
abc,def,ghi,18-NOV-03,08-JUL-14,jkl,3885
abc,def,ghi,14-JUN-06,15-JUL-14,jkl,2953
Run Code Online (Sandbox Code Playgroud)

已尝试以下命令和部分...

awk 'BEGIN {FS=OFS=","} {print $0,$6-$4}' Input.txt

awk 'BEGIN {FS=OFS=","} {print $0,$date($6)-$date($4)}' Input.txt
Run Code Online (Sandbox Code Playgroud)

有什么建议 ..

awk

2
推荐指数
1
解决办法
4775
查看次数

awk根据日期范围提取行:

想要提取行项目,如果日期范围介于25-mar-2015 to 05-may-2015第二个字段之间($2).日期列未排序,每个文件包含数百万条记录.

Inputs.gz

Des,DateInfo,Amt,Loc,Des2
abc,02-dec-2014,10,def,xyz
abc,20-apr-2015,25,def,xyz
abc,14-apr-2015,40,def,xyz
abc,17-mar-2014,55,def,xyz
abc,24-nov-2011,70,def,xyz
abc,13-may-2015,85,def,xyz
abc,30-sep-2008,100,def,xyz
abc,20-jan-2014,115,def,xyz
abc,04-may-2015,130,def,xyz
abc,25-nov-2013,145,def,xyz
abc,29-mar-2015,55,def,xyz
Run Code Online (Sandbox Code Playgroud)

我试过下面的命令和in-complete:

function getDate(date) {
    split(date, a, "-");
    return mktime(a[3] " " sprintf("%02i",(index("janfebmaraprmayjunjulaugsepoctnovdec", a[2])+2)/3) " " a[1] " 00 00 00")
}

BEGIN {FS=","}

{ if ( getDate($2)>=getDate(25-mar-2015) && getDate($2)<=getDate(05-may-2015) ) print $0 }
Run Code Online (Sandbox Code Playgroud)

预期产出:

abc,20-apr-2015,25,def,xyz
abc,14-apr-2015,40,def,xyz
abc,04-may-2015,130,def,xyz
abc,29-mar-2015,55,def,xyz
Run Code Online (Sandbox Code Playgroud)

请建议......我没有perl和python访问权限.

unix awk

1
推荐指数
1
解决办法
603
查看次数

标签 统计

awk ×4

unix ×1