我想知道有没有办法从文本中获取最多的字符?像前5或10一样。阅读所有的字符都没问题,但我遇到了这个问题。 谢谢你的关注
答案 0 :(得分:2)
您可以使用shell实用程序:
grep -o . filename | sort | uniq -c | sort -nr
将按降序给出输入中出现的字符数。
将结果传递给head
以获得前5名或前10名。
例如,
$ echo "The quick brown fox jumps over the lazy dog" | grep -o . | sort | uniq -c | sort -nr
8
4 o
3 e
2 u
2 r
2 h
1 z
1 y
1 x
1 w
1 v
1 T
1 t
1 s
1 q
1 p
1 n
1 m
1 l
1 k
1 j
1 i
1 g
1 f
1 d
1 c
1 b
1 a
如果您希望计数不区分大小写,可以插入tr
管道:
grep -o . filename | tr '[:upper:]' '[:lower:]' | sort | uniq -c | sort -nr
答案 1 :(得分:2)
您也可以使用fold
fold -w1 filename | sort | uniq -c | sort -nr