算上纯文本文件一个字符的出现(Count occurrences of a char in plai

2019-08-31 07:49发布

是否有在Linux /终端的任何方法来计算,焦炭F IN纯文本文件中出现的次数?

Answer 1:

这个怎么样:

fgrep -o f <file> | wc -l

注:除了更容易记住/复制和定制,这比Vereb的回答三倍左右(对不起,编辑拙劣的第一次测试!)更快。



Answer 2:

甚至更快:

tr -cd f < file | wc -c

时间与4.9 MB和搜索字符110万个OCCURENCES文件这个命令

real   0m0.089s
user   0m0.057s
sys    0m0.027s

时间Vereb答案有echocattrbc相同的文件:

real   0m0.168s
user   0m0.059s
sys    0m0.115s

时间罗布Hruska的答案与trsedwc为同一个文件:

real   0m0.465s
user   0m0.411s
sys    0m0.080s

时间Jefromi答案与fgrepwc为同一个文件:

real   0m0.522s
user   0m0.477s
sys    0m0.023s 


Answer 3:

echo $(cat <file>  | wc -c) - $(cat <file>  | tr -d 'A' | wc -c) | bc

其中A是字符

时间与4.9 MB和搜索字符110万个OCCURENCES文件这个命令:

real   0m0.168s
user   0m0.059s
sys    0m0.115s


Answer 4:

如果你需要做的就是计算包含你的性格线的数量,这将工作:

grep -c 'f' myfile

然而,它计算在同一行作为一个单一的比赛“F”的多次出现。



Answer 5:

tr -d '\n' < file | sed 's/A/A\n/g' | wc -l

与你的性格,和“文件”与您输入文件替换“A”的两个事件。

  • tr -d '\n' < file :去除新行
  • sed 's/A/A\n/g : “A”的每一次出现后增加了一个新行
  • wc -l :计算行数

例:

$ cat file
abcdefgabcdefgababababbbba


1234gabca

$ tr -d '\n' < file | sed 's/a/a\n/g' | wc -l
9


文章来源: Count occurrences of a char in plain text file