通过awk或grep计算特定char的出现次数

时间:2012-10-03 04:45:21

标签: awk grep

我有这样的数据,每行都有固定数量的字符(8)

RYRYRYRR
YRRRRYRR
YYRRRRRY
RYYRRRRR
RRRRRRRY
RYRRRRRY

我需要分别输出“Y”和“R”的数量,如下所示。

RYRYRYRR 3 5
YRRRRYRR 2 6
YYRRRRRY 3 5

我已经尝试过使用grep的脚本,如下所示..

grep -c'Y'test.dat正在打印一些像13

的数字

1 个答案:

答案 0 :(得分:5)

试试这个:

awk '{print $0, gsub("Y", "Y"), gsub("R", "R")}'

在awk中,gsub返回成功替换的次数。