使用shell统计字符串出现的次数,并从大到小进行排序显示

需求说明:对文档中的字符串进行统计,并进行排序后(从大到小),显示出前2条记录
构造的test.txt内容如下:
a 12332
a 2323
a 234234
b 232
c 23432
c 34

统计并排序的方法:
[[email protected] ~]$ awk ‘{a[$1]++} END {for(i in a){print i,a[i] | "sort -r -k 2"}}‘ test.txt > r.txt
执行结果:
a 3
c 2
b 1

打印前两条记录的方法如下:
[[email protected] ~]$ head -2 r.txt     //方法1显示前两行
a 3
c 2
[[email protected] ~]$ head -n 2 r.txt   //方法2显示前两行
a 3
c 2
使用awk命令:awk ‘FNR<=2‘ r.txt    //方法3显示前两行
时间: 2024-08-01 03:33:54

使用shell统计字符串出现的次数,并从大到小进行排序显示的相关文章

将字符串中的字符按字符出现个数从大到小进行排序

最近同事出去面试,有个关于将字符串数组中的字符串按出现次数排序按从大到小,要求5分钟之内写出来.很尴尬,没有写出来.我也来一次回顾吧 对于这种: 1 String stri = "agasdfasdfdccvvasdfg"; 或者这种 1 String str = "a,b,c,a,v,d,f,s,s,f,f,sd"; 其实都是一样的. 第一种实现: 思路:1.将其转化为数组,2.定义一个map,key为字符/字符串的值,value为出现的次数 3.将map的val

面试题小记:1、统计字符串出现的次数,2、约瑟夫环问题

今天面到了一个比较有意思的笔试题,先记录一下:1.字符串类似'aaabbccddd',写个方法得出'3a2b2c3d',即统计字符串出现的个数$arr = str_split('aaabbccddd');$n = 1;$finalStr = '';for($i = 0;$i<count($arr);$i++){if(($i < count($arr)-1) && $arr[$i] == $arr[$i+1]){$n++;}else{$finalStr .= $n.$arr[$i

Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数

Linux课上的作业周三交,若有考虑不周到的地方,还请多多不吝赐教. shell处理文本相关的经常使用命令见此博客 # #假设输入两个參数 则第一个为统计单词的个数.第二个为要统计的文章 #假设输入一个參数 则默认统计单词的个数为10 # 详细思路: 将各种符号用换行替换(tr命令) 大写改小写(tr命令) 排序.统计单词个数并除去反复 (sort和uniq) 按出现次数的高低排序(sort) 打印N个须要统计的单词 #!/bin/bash if [ $# -ne 2 -a $# -ne 1 ]

统计字符串中出现次数最多的字母的次数,如果有多个重复的,都求出

package javastudy; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.TreeSet; public class Test1 { public static void main(String [] args){ String str = "aacdggdhrdhgsjrsovoiwimtcpiq"; new Test

shell 统计字符串 字符个数

统计"abbc"中"b"的个数 1:awknum=`echo abbc | awk -F"b" '{print NF-1}'` 2:trnum=`echo abbc | tr -cd "b" | wc -c` 3:sednum=`echo -n abbc | sed 's/[^b]*//g' | wc -c`

js 统计字符串中出现次数最多的字符?

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script> 7 8 var s="aaaabbbbssssssss"; 9 var fres={}; //用来记录所有的字符的出现频次 10 var mostFr

文本项目系列[2]——字符串元音字母次数统计

1.需求 统计元音字母——输入一个字符串,统计处其中元音字母的数量.更复杂点的话统计出每个元音字母的数量. 2.思路 输入:不超过100个字符的字符串.比如:"love me love my dog". 处理:元音字母就a/e/i/o/u五个,可以分别统计出各自的数量,总数相加就可以了. 输出如下: 元音总次数:6a次数:0e次数:3i次数:0o次数:3u次数:0 3.代码 package com.myeclipse; public class VowelCount { /** * @

技巧之C#统计字符串中字符出现的次数(转)

方法1.自定义类 class CharNum { private char c; private int num; public char C { get { return c; } } public int Num { get { return num; } set { num = value; } } public CharNum(char ch) { this.c = ch; this.num = 1; } } static void Main(string[] args) { /* */

Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例

1. 首先我们看看统计字符串中每个字符出现的次数的案例图解: