任何用于匹配字符串的grep便捷命令,当存在一个很长的字符串(单行)时,计算出现的字符串数。
"grep -i something abc.txt | wc -l"
在多行时工作正常,但是如果abc.txt在单行中出现多次,则无法计数。
PS:我已经阅读了有关此问题的多个链接,但是当我使用Sun OS时,没有一个对我有用。请注意Sun OS。
谢谢
答案 0 :(得分:0)
awk怎么样:
$ cat file
something. something else
not that's something
$ awk 'i=gsub(/something/,"&"){c+=i}END{print c}' file
3
如果它是较长字符串(something.
)的一部分,则将计数匹配,就像grep
一样。
答案 1 :(得分:0)
您的grep
是否支持选项-o
?在这种情况下,您可以使用
grep -oi something abc.txt | wc -l
如果这不起作用。尝试类似的解决方法
sed 's/something/&\n/g' abc.txt | grep -ci "something"
答案 2 :(得分:0)
在Solaris 11上,使用/usr/gnu/bin/grep
使使用-o选项可以在其他地方找到答案。