unix命令(grep,cut)
我有此文件“自动”内容: 雷诺:克里奥:1999:25000:9000:rougeunix命令(grep,cut),unix,Unix,我有此文件“自动”内容: 雷诺:克里奥:1999:25000:9000:rouge 标致:106:2000:15000:10000:BLUE 雪铁龙:AX:1994:55000:5000:gris 沃尔斯瓦根:golf4:2000:10000:22000:BLUE 梅赛德斯:C级:2002:5000:43000:gris 雷诺:克利奥:1993:65000:6000:bleue 沃尔斯瓦根:golf3:1995:58000:8000:BLUE 因此,问题是“如何显示车型列表(第2个字段)文件“自
标致:106:2000:15000:10000:BLUE
雪铁龙:AX:1994:55000:5000:gris
沃尔斯瓦根:golf4:2000:10000:22000:BLUE
梅赛德斯:C级:2002:5000:43000:gris
雷诺:克利奥:1993:65000:6000:bleue
沃尔斯瓦根:golf3:1995:58000:8000:BLUE
因此,问题是“如何显示车型列表(第2个字段)文件“自动”识别每个人的车辆数量?”尝试脚本
计数
:
#!/usr/bin/awk -f
{
col = 2
freq[$col]++
}
END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}
运行后,它是:count data.txt
,将打印:
:106 1
:Clio 2
:AX 1
:golf3 1
:Classe 1
:golf4 1
这次我测试了它:
sehe@meerkat:/tmp$ cut -d ':' -f 2 auto | sort | uniq -c | sort -n
1 106
1 AX
1 Classe C
1 golf3
1 golf4
2 Clio
谢谢大家,我在结合了一些回复后编辑了这段代码:
cut-f2-d:auto | sort | uniq-c
我得到了搜索结果:
11061 AX
1类C
2 Clio
1 golf3
1 golf4到目前为止,您尝试了什么?有几种不同的方法,比如awk,它可以做到这一点。什么是awk,这是一个命令?它是一个用于处理行的命令行工具,来自wikipedia:awk实用程序是一个数据提取和报告工具,它使用一种数据驱动的脚本语言,由一组针对文本数据的操作组成(在文件或数据流中)用于生成格式化报告。awk脚本可以做到这一点。我已经有一段时间没有使用它了,因此无法为您提供要运行的脚本。可能会提供一个教程来帮助您。如果您确实使用了它,请在可能的情况下发布它。;)@这是一个与编程相关的问题。1 106 1 AX 1 Classe C 1 Clio 1 Clio 1 golf3 1 Golf4它重复同一辆车两次?我想要2 Clio而不是1 Clio 1 ClioO dang,我忘了(怎么可能)排序,修正了
sehe@meerkat:/tmp$ cut -d ':' -f 2 auto | sort | uniq -c | sort -n
1 106
1 AX
1 Classe C
1 golf3
1 golf4
2 Clio