我需要 awk 的帮助
I need help on awk
一次查询需要AWK相关帮助
具有此列的 csv
m1|1|0|1
m1|2|1|1
m1|3|1|1
m2|1|0|1
m2|2|0|1
m2|1|1|1
m3|1|0|1
m3|2|1|1
愿望输出
tag|total_count|no1_repetead_in b column|no2_repeated_in b column |no3_repeated_in b column|count_of_c_column|count_of_d_column
m1|3|1|1|1|2|3
m2|3|2|1|0|1|3
m3|2|1|1|0|1|2
任何人都可以在 awk 中提供帮助
awk -F '|' '{c[]++;a[]+=;b[]+=;d[]+=if(=="1")}END{for(i in a)print i"|"c[i]"|"a[i]"|"b[i]"|"d[i]|"sort"}' /tmp/csv.txt >> desire_output.txt
根据你的列名和你想要的输出,你可以试试这个:
awk 'BEGIN{FS=OFS="|"}{c[]++;a[]+=;b[]+=}=="1"{d[]++}=="2"{e[]++}=="3"{f[]++}END{for(i in a)print i,c[i],d[i]+0,e[i]+0,f[i]+0,a[i]+0,b[i]+0}' csv.txt
或者只是为了更好的阅读:
awk 'BEGIN{FS=OFS="|"}
{c[]++;a[]+=;b[]+=}
=="1"{d[]++}
=="2"{e[]++}
=="3"{f[]++}
END{for(i in a)
print i,c[i],d[i]+0,e[i]+0,f[i]+0,a[i]+0,b[i]+0}
' csv.txt
基于您自己的代码,修复了错误。
$ awk 'BEGIN {FS=OFS="|"}
{k=; c[k]++; c2[k,]++; c3[k]+=(==1); c4[k]+=(==1)}
END {for(k in c)
print k,c[k],c2[k,1]+0,c2[k,2]+0,c2[k,3]+0,c3[k],c4[k]}' file
m1|3|1|1|1|2|3
m2|3|2|1|0|1|3
m3|2|1|1|0|1|2
只计算第 3 和第 4 列中的“1”
一次查询需要AWK相关帮助
具有此列的 csv
m1|1|0|1
m1|2|1|1
m1|3|1|1
m2|1|0|1
m2|2|0|1
m2|1|1|1
m3|1|0|1
m3|2|1|1
愿望输出
tag|total_count|no1_repetead_in b column|no2_repeated_in b column |no3_repeated_in b column|count_of_c_column|count_of_d_column
m1|3|1|1|1|2|3
m2|3|2|1|0|1|3
m3|2|1|1|0|1|2
任何人都可以在 awk 中提供帮助
awk -F '|' '{c[]++;a[]+=;b[]+=;d[]+=if(=="1")}END{for(i in a)print i"|"c[i]"|"a[i]"|"b[i]"|"d[i]|"sort"}' /tmp/csv.txt >> desire_output.txt
根据你的列名和你想要的输出,你可以试试这个:
awk 'BEGIN{FS=OFS="|"}{c[]++;a[]+=;b[]+=}=="1"{d[]++}=="2"{e[]++}=="3"{f[]++}END{for(i in a)print i,c[i],d[i]+0,e[i]+0,f[i]+0,a[i]+0,b[i]+0}' csv.txt
或者只是为了更好的阅读:
awk 'BEGIN{FS=OFS="|"}
{c[]++;a[]+=;b[]+=}
=="1"{d[]++}
=="2"{e[]++}
=="3"{f[]++}
END{for(i in a)
print i,c[i],d[i]+0,e[i]+0,f[i]+0,a[i]+0,b[i]+0}
' csv.txt
基于您自己的代码,修复了错误。
$ awk 'BEGIN {FS=OFS="|"}
{k=; c[k]++; c2[k,]++; c3[k]+=(==1); c4[k]+=(==1)}
END {for(k in c)
print k,c[k],c2[k,1]+0,c2[k,2]+0,c2[k,3]+0,c3[k],c4[k]}' file
m1|3|1|1|1|2|3
m2|3|2|1|0|1|3
m3|2|1|1|0|1|2
只计算第 3 和第 4 列中的“1”