如何使用Unix命令在文本文件中收集字符使用情况统计信息?

Hal*_*ali 6 unix ocr statistics command-line text

我有一个使用OCR软件创建的文本文件 - 大小约为1兆字节.一些不常见的字符出现在整个文档中,其中大多数是OCR错误.

我想找到文档中使用的所有字符,以便轻松发现错误(如UNIQ命令,但对于字符,而不是行).

我在Ubuntu上.我应该使用什么Unix命令来显示文本文件中使用的所有字符?

Kam*_*mal 9

这应该做你想要的:

cat inputfile | sed 's/\(.\)/\1\n/g' | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)

前提是sed将文件中sort | uniq -c的每个字符单独放在一行上,然后通常的序列除去每个发生的唯一字符中的一个,并提供每个字符发生的次数.

此外,您可以追加| sort -n到整个序列的末尾,以按每个字符出现的次数对输出进行排序.例:

$ echo hello |  sed 's/\(.\)/\1\n/g' | sort | uniq -c | sort -n
  1 
  1 e
  1 h
  1 o
  2 l
Run Code Online (Sandbox Code Playgroud)