2015-10-27 41 views
1

我已經逐漸接近計算標點符號的所有出現,但是標點符號是緊挨着對方得到算作一個。找到所有標點符號在文本文件和打印計數

像這樣:

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

它打印是這樣的:

15 , 
9 ! 
5 . 
2 ; 
2 !" 
2 ' 
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