查找文本文件中的所有标点符号&打印计数

时间:2015-10-27 06:36:50

标签: sorting unix command-line tr

我接近计算所有出现的标点符号,但是相邻的标点符号会被计为一个。

像这样:

cat filename.txt |
tr -sc '[:punct:]' '\n' |
sort |
uniq -c |
sort -bnr`

打印出类似这样的内容:

15 ,
 9 !
 5 .
 2 ;
 2 !"
 2 '
 1 -
 1 --
 1 :
 1 ?

显然只计算标点符号,但我如何将那些彼此相邻的东西分开呢?

1 个答案:

答案 0 :(得分:0)

此:

tr -sc '[:punct:]' '\n' 

基本上你在这里做的是用\n替换所有非标点字符。所以当两个标点字符之间没有这样的字符时,你会将它们彼此相邻

你想要这样的东西:

cat filename.txt | tr -cd [:punct:] | fold -w 1 | sort | uniq -c | sort -bnr