使用awk命令在Linux中实现数据汇总
在Linux中,可以使用awk命令来实现类似于R语言中'summarized_file <- merged_file %>% group_by(V2) %>% summarize(col3= sum(V3),col4= sum(V4), col5 = sum(V5),col6 = sum(V6), col7 = sum(V7),col8 = sum(V8))'命令的功能。
具体命令如下:
awk -F ',' '{ col3[$2] += $3; col4[$2] += $4; col5[$2] += $5; col6[$2] += $6; col7[$2] += $7; col8[$2] += $8; } END { for (key in col3) { print key ',' col3[key] ',' col4[key] ',' col5[key] ',' col6[key] ',' col7[key] ',' col8[key]; } }' merged_file.csv > summarized_file.csv
其中,'-F ',' 表示以逗号为分隔符,'$2'表示第二列,'$3'表示第三列,以此类推。在每行数据中,根据第二列的值,将其对应的第三至第八列的值累加起来。最后,利用for循环遍历所有键值对,输出到'summarized_file.csv'文件中。
原文地址: https://www.cveoy.top/t/topic/ozjw 著作权归作者所有。请勿转载和采集!