Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
Linux 基于列中的值进行数据汇总_Linux_Text Files_Summary - Fatal编程技术网

Linux 基于列中的值进行数据汇总

Linux 基于列中的值进行数据汇总,linux,text-files,summary,Linux,Text Files,Summary,我想解析一个包含四列的文本文件,如下所示: a 343 rty awdr a 345 rty awdr a 386 rty bfggd b 390 rty bfggd b 396 rty 45fggd b 400 rty 45fggd b 415 rty 45fggd 目标是计算特定值在第4列中重复的次数,并在两列中写入如下输出: awdr 2 bfggd 2 45

我想解析一个包含四列的文本文件,如下所示:

a  343  rty  awdr     
a  345  rty  awdr   
a  386  rty  bfggd   
b  390  rty  bfggd  
b  396  rty  45fggd   
b  400  rty  45fggd  
b  415  rty  45fggd             
目标是计算特定值在第4列中重复的次数,并在两列中写入如下输出:

awdr     2   
bfggd    2   
45fggd   3   

您可以使用awk执行此操作:

$cat test.txt | awk '{tbl[$4]++;} END { for (s in tbl) printf("%s %d\n", s, tbl[s]);}'
awdr 2
bfggd 2
45fggd 3

awk{print$4}| sort | uniq–cI在评论队列的帮助和改进部分编辑了这篇文章,但没有足够的信息,这个问题几乎无法解决。你要把这个文件打印到哪里?文件还是控制台?这个文件是什么格式的?最重要的是,你试过什么?