[已解决]shell如何统计文本中每种字符的出现次数

命令行相关的问题,init/tty/konsole/terminal,以及各种 shell 和脚本如 init/systemd 脚本和 bash 脚本的讨论。

[已解决]shell如何统计文本中每种字符的出现次数

#1  hounh » 周六 12月 3日, 2016年 10:41 pm

想到了这个问题,故来请教。
我知道如果每行一个字符,可以用 sort 和 uniq 等来解决。
那现在的问题是如何把一行中的字符串变成每行一个呢?
或者还有别的方法?
头像
hounh
行走
 
帖子: 140
注册: 周五 5月 16日, 2014年 2:41 pm
Cash on hand: 153.20
送出感谢: 0 次
收到感谢: 4

Re: shell如何统计文本中每种字符的出现次数

#2  SilverRainZ » 周日 12月 4日, 2016年 11:52 am

代码: 全选
grep -o . file | sort | uniq -c
头像
SilverRainZ
行走
 
帖子: 118
注册: 周六 1月 10日, 2015年 6:06 pm
Cash on hand: 133.70
送出感谢: 10
收到感谢: 5

Re: shell如何统计文本中每种字符的出现次数

#3  hounh » 周日 12月 4日, 2016年 7:01 pm

LastAvengers 写道:
代码: 全选
grep -o . file | sort | uniq -c


多谢!
copy 一下 grep 的 man 手册:
代码: 全选
       -o, --only-matching
              Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
  渣翻译:打印非空的匹配部分,每个(匹配)单独输出成一行。
头像
hounh
行走
 
帖子: 140
注册: 周五 5月 16日, 2014年 2:41 pm
Cash on hand: 153.20
送出感谢: 0 次
收到感谢: 4

Re: shell如何统计文本中每种字符的出现次数

#4  逸品风霜 » 周二 12月 6日, 2016年 7:23 pm

这个真是神技,无意中看到的,学写了,多谢分享。
逸品风霜
 
帖子: 5
注册: 周二 11月 25日, 2014年 6:53 pm
Cash on hand: 6.00
Bank: 1.00
送出感谢: 0 次
收到感谢: 1


回到 命令行

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客