2015-05-09 90 views
0

如何仅对其中包含单词的行进行数字计数?在下面的例子中,我有4行字在其中:只计算包含单词的行

100314:Status name one: 15 
24 1 7 5 43 13 24 64 10 47 31 100 22 20 38 63 49 24 18 82 66 22 21 77 52 8 6 11 50 20 5 1 0 
101245:Status name two: 14 
2 10 2 2 25 53 3 31 30 1 21 41 9 14 18 40 6 10 18 72 20 16 33 29 19 18 12 60 48 12 8 50 43 13 
103765:Yet another name here: 29 
45 29 29 475 63 69 47 94 65 65 69 55 53 905 117 57 42 92 90 59 91 52 79 101 192 87 144 74 115 82 78 109 12 96 64 78 111 106 84 19 0 7 
102983:Blah blah yada yada: 82 
41 37 40 60 82 72 17 41 17 19 43 3 

我已经采用的wc -lgrep/uniq不同管的组合试过。我也试着只计算奇数行(在MWE中工作),但我正在寻找一些更通用的用于大型非结构化数据集的东西。

回答

1

这取决于你如何定义一个词。如果,例如,它的任何两个连续的字母,你可以使用类似:

grep -E '[a-zA-z]{2}' fileName | wc -l 

可以取决于你如何定义一个字(即一个我提供不会挑简单的调整正则表达式例如“A”或“I”或“I'm”),但概念将保持不变

+0

我无法关闭您的“ - l”而不是“-l”之间的距离...你能否在你的文章中解决这个问题?我不能自己做这个编辑,因为它太少字符:) – warship

+0

感谢你,@军舰,现在修复。 – paxdiablo